- 博客(12)
- 收藏
- 关注
原创 GPIO工作模式
有时候要得到这个电压原始的数据,走模拟输入时,在这个场景里面让引脚在芯片内部是浮空状态,不使用上拉,也不使用下拉,让电压完全由外部电路决定,让引脚接到模拟输入里面去,不接到数据输入里面去。如图所示,当电阻R2足够大大于R1时,电压V约等于3.3V,只要V的电压大于1.7V,引脚读出的就是1,高电平。读到1电源电压范围1.546 ~ 3.6V, 引脚有FT的,电压范围是1.546~5.x V,当电压 -0.3 ~ 1.146V是低电压,读到0,数据输入、模拟输入,其它的输入,例如IIC模拟输入。
2025-07-04 13:07:27
337
原创 读写寄存器与C基础
内存管理单元的功能是接收CPU发出地址,内存管理单元根据发出的地址去分辨我要去访问哪一个设备,每个设备都有地址范围。当CPU发出的地址,最终选中了某一个模块之后,其它模块没有被选中,相当于不存在,其它模块可以专心去读写选中的模块。在32位系统中,char a 的地址始终是 32位(4字节),这是由系统的指针宽度决定的,与变量类型无关。二进制太多0和1不好记住,所以引用八进制,八进制是二进制的三位表示八进制一位,取值范围正好是0到7,低位存放在低地址叫小端字节序,高位存放在低地址叫大端字节序。
2025-06-27 15:36:30
429
原创 STM32学习HAL库
为什么前面要先设置引脚输出电平为低电平,用这个函数(HAL_GPIO_Init)把引脚配置成输出之后它瞬间就会输出一个电平,是输出高电平还是低电平。在前面先设置成一个默认的状态,事先调整你的数值为低电平,当后面设置引脚为输出引脚时,就知道了输出低电平。后续还可以继续使用CubeMX继续生成代码,不想自己写的代码被破环,就要把代码写在指定的区域,用户代码开始(USER CODE BEGIN),用户代码结束(USER CODE END)。只需要自己做第四步。第二步找到相关的API,在双击跳转过去。
2025-06-24 16:45:53
541
原创 Linux命令操作
当你输入ls -a的时候谁来解析你的输入,shell来接受你的输入,根据你的输入找到对应文件里面的应用程序,然后去执行这个程序。这条命令的作用:> 是重定向符号,它会将 echo 的输出(abc)写入文件 1.txt(覆盖写入)。ls : 列出当前目录内容 可以通过 ls --help可以查看更加详细的使用信息。进入,在/home/book/目录下进入上一级路径home/rm -r 123 123是一个目录,加上 -r 递归的删除路径。rm:可以删除文件,也可以删除文件夹(目录)
2025-06-13 22:01:19
1385
原创 GPIO寄存器操作和寻址
第三步、设置GPIO为输出引脚,找到关于GPIO那一张 ,数据手册第九章9.2.1端口配置低位寄存器(Port configuration register low),只能设置0到7的引脚,要想设置8到15就看GPIOx_CRH。如何输出高低电平也加上上图GPIOB的地址0x4001 0c00+0x0C就是端口输出数据寄存器(GPIOx_ODR)(Port output data register (GPIOx_ODR))的地址。频率越高传输数据坡型越陡峭,传输更快,根据外设选择合适的传输速率。
2025-06-11 16:38:12
753
原创 LED原理图和寄存器如何操作的
沿着数据流向反向来看,数据来自于IO_MUX,这是一个多路选择器,可能来自于GPIO模块,也有可能来自串口模块,通过引脚模式选择需要去设置引脚的模式,设置Power/Clock去使能GPIO模块,为了省电GPIO模块默认状态下是关闭的,要使用这些模块,要设置Power/Clock去对这些模块提供电源,时钟(clock),然后这些模块才可以工作。清除寄存器(clr_reg)会把对应的数据寄存器里面的bit0和bit2清零,写一清零是由硬件内部机制实现的,在操作过程中,等于零的这些位没有任何作用,不受影响。
2025-06-10 14:20:24
1928
原创 STM32三种输入模式
如图所示通过转换电路将引脚输入的高电压还是低电压转换成数字0或者1,保存到输入数据寄存器。通过代码函数可以读出引脚输入的是高电压还是低电压。
2025-06-06 17:26:32
558
原创 点亮第一颗灯
如图所示,推挽模式IO引脚连接LED灯,P-MOS闭合,N-MOS打开,输出高电压点亮,P-MOS打开,N-MOS闭合低电压熄灭,在程序中只要控制函数写1或者写0,就能控制LED灯点亮和熄灭。通过欧姆定律I = V/R,LED = 0.7V,I = 3.3V - 0.7V = 2.6V, 2.6V/510Ω大约等于5mA灯亮。GPIO_Init初始化一根引脚,通过配置选择那种模式(通用开漏输出),选择合适的输出速度。如图所示程序写0,N-MOS闭合,灯就亮,写1,N-MOS打开,灯就灭。
2025-06-05 20:55:47
324
原创 STM32引脚GPIO的四种输出模式和最大输出速度
输出控制电路控制P-MOS和N-MOS推 Push 向外推电流 对应P-MOS如图所示通过输出控制电路控制P-MOS闭合导通,N-MOS断开,IO引脚通过P-MOS和Vdd连通向外输出高电平,这个时候就是推挽 Pull 从外边向里拉电流 对应N-MOS如图所示通过输出控制电路控制N-MOS闭合导通,P-MOS断开,IO引脚通过N-MOS和Vss连接,Vss是低电压,IO引脚有电流就往Vss走。
2025-06-05 14:15:38
937
原创 STM32型号及引脚分布
图片中标记的都是特殊功能引脚,没有标记的都是普通引脚,其中黄色标记的都是给芯片供电用的,VDD接3.3V,VSS接0V(根据Nmos管结构图),NRST接的是单片机上的复位按钮,VBAT在板子的右上脚,BOOT0启动模式,在芯片上有两个黄色的跳冒,上面那个跳冒移到左边BOOT0接低电压,移动到右边接高电压。c8t6:可以单独拆开,c是引脚数量,c = 48引脚,8是FLASH容量,8 = 64Kbytes,t是封装类型,焊盘的形状,t= LQFP,6是温度范围,6=-40-85℃。M:单片机开头首字母。
2025-06-04 15:55:43
1393
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅