我们消除抖动,加一段延时即可。
第一个图,随便选择一个接口,通过K1接地,按键按下,PA0接地,读取的电压就是低电平,按键松手时,PA0被悬空,引脚电压不确定,所以在此情况下,PA0的必须是上拉输入的模式,否则就会出现引脚电压不确定的错误现象,如果PA0是上拉输入,那么我们就知道引脚悬空,PA0就是高电平。
第二个图,外部接了一个上拉电阻,上拉想象成一个弹簧,把端口往屋顶上拉,按键松手时,引脚由于上拉作用,自然保持高电平,当按键按下时,引脚接地,引脚为低电平,因此PA0可以配置为浮空输入或者上拉输入,如果是上拉输入那么就是内外两个上拉电阻共同作用了,高电平更稳定,低电平损耗大。
第三个图,要求PA0配置为下拉输入的模式,当按键按下时,引脚为高电平,松手时,引脚默认为低电平。
第四张图,同理就是多加一个下拉电阻。
2.传感器模块电路:
3.C语言
typedef和宏定义区别:
宏定义新名字在左边,typedef的新名字在右边,宏定义不需要分号,typedef后面必须加分号,宏定义的改名范围要更宽一些,对于变量类型重命名而言,使用typedef更加安全,而typedef对命名进行检查,如果不是变量类型名字,那是不行的。
应用:结构体的定义
结构体的引用: