3.2.7 补充知识点调用库函数的方法1、直接通过.h文件拖到最下面看有哪些函数可以调用再右键转到定义查看一下函数和参数的用法2、使用文件夹中的库函数使用手册中文文档可以直接使用但是部分用法会有一些出入大部分问题不大3.3 GPIO输入知识3.3.1 按键介绍按键常见的输入设备按下导通松手断开按键抖动由于按键内部使用的是机械式弹簧片来进行通断的所以在按下和松手的瞬间会伴随有一连串的抖动解决抖动办法在抖动期间加一个延时把抖动时间过滤过去3.3.2 传感器模块传感器模块传感器原件的电阻会随外界模拟量的变化而变化通过与定值电阻分压即可得到模拟电压输出再通过电压比较器进行二值化即可得到数字电压输出N1传感器原件所对应的电阻可以根据环境的光线、温度等模拟量进行变化R2和N1进行分压的定值电阻和N1串联一端在GND负极一端在VCC正极以上就是基本的分压电路C2是一个滤波电容它是为了给中间的电压输出进行滤波的保证输出电压波形的平滑一般遇到这种结构都要考虑一下这个电容是不是滤波电容的作用如果是那就是保证波形的不是电路的主要框架在分析电路时候可以先抹掉AO模拟信号输出端口N1阻值变化之后其两端电压也就会变化此时AO位置的电压也就会随之变化因此AO直接通过右边图进行输出模块同时还支持数字输出数字输出就是对AO进行二值化输出二值化输出是通过LM393来完成的是一个电压比较器芯片里面有两个独立的电压比较器电路C1是电源供电的滤波电容电源比较器其实就是一个运算放大器当同相输入端电压大于反相输入端那么输出VCC反之输出GND传感器模块中的IN接到了AO就是模拟电压端IN-接了一个电位器电位器的接法也是分压电阻的原理两个电压进行比较最终输出结果就是DO数字电压输出DO最终接到了引脚的输出端。右边两个是指示灯电路左边是电源指示灯通电就亮右边是DO输出指示灯低电平点亮高电平熄灭DO这里多了个R5上拉电阻这个是为了保证默认输出为高电平的。3.3.3 硬件电路一般采用上面的方法进行连接原因跟LED的接法类似是电路设计的习惯和规范当按键悬空的时候PA0的引脚电压不确定所以在这种接法下要求PA0必须是上拉输入的模式否则就会出现引脚电压不确定的情况因此在这种方式下按下按键引脚为低电平松手引脚为高电平但是右边的图接入了上拉电阻此时引脚配置可以为浮空输入或上拉输入
STM32-Day05(补充库函数GPIO输入硬件了解)
发布时间:2026/6/10 6:51:22
3.2.7 补充知识点调用库函数的方法1、直接通过.h文件拖到最下面看有哪些函数可以调用再右键转到定义查看一下函数和参数的用法2、使用文件夹中的库函数使用手册中文文档可以直接使用但是部分用法会有一些出入大部分问题不大3.3 GPIO输入知识3.3.1 按键介绍按键常见的输入设备按下导通松手断开按键抖动由于按键内部使用的是机械式弹簧片来进行通断的所以在按下和松手的瞬间会伴随有一连串的抖动解决抖动办法在抖动期间加一个延时把抖动时间过滤过去3.3.2 传感器模块传感器模块传感器原件的电阻会随外界模拟量的变化而变化通过与定值电阻分压即可得到模拟电压输出再通过电压比较器进行二值化即可得到数字电压输出N1传感器原件所对应的电阻可以根据环境的光线、温度等模拟量进行变化R2和N1进行分压的定值电阻和N1串联一端在GND负极一端在VCC正极以上就是基本的分压电路C2是一个滤波电容它是为了给中间的电压输出进行滤波的保证输出电压波形的平滑一般遇到这种结构都要考虑一下这个电容是不是滤波电容的作用如果是那就是保证波形的不是电路的主要框架在分析电路时候可以先抹掉AO模拟信号输出端口N1阻值变化之后其两端电压也就会变化此时AO位置的电压也就会随之变化因此AO直接通过右边图进行输出模块同时还支持数字输出数字输出就是对AO进行二值化输出二值化输出是通过LM393来完成的是一个电压比较器芯片里面有两个独立的电压比较器电路C1是电源供电的滤波电容电源比较器其实就是一个运算放大器当同相输入端电压大于反相输入端那么输出VCC反之输出GND传感器模块中的IN接到了AO就是模拟电压端IN-接了一个电位器电位器的接法也是分压电阻的原理两个电压进行比较最终输出结果就是DO数字电压输出DO最终接到了引脚的输出端。右边两个是指示灯电路左边是电源指示灯通电就亮右边是DO输出指示灯低电平点亮高电平熄灭DO这里多了个R5上拉电阻这个是为了保证默认输出为高电平的。3.3.3 硬件电路一般采用上面的方法进行连接原因跟LED的接法类似是电路设计的习惯和规范当按键悬空的时候PA0的引脚电压不确定所以在这种接法下要求PA0必须是上拉输入的模式否则就会出现引脚电压不确定的情况因此在这种方式下按下按键引脚为低电平松手引脚为高电平但是右边的图接入了上拉电阻此时引脚配置可以为浮空输入或上拉输入