GPIO输入

668dc499c23f450a8dd61d9a720d0e67.jpg

 我们消除抖动,加一段延时即可。

c57ec5a40e074d00877f75e97a33dcb5.jpg

d4a5ce0441224268bfc5d433d2510ee5.jpg

 第一个图,随便选择一个接口,通过K1接地,按键按下,PA0接地,读取的电压就是低电平,按键松手时,PA0被悬空,引脚电压不确定,所以在此情况下,PA0的必须是上拉输入的模式,否则就会出现引脚电压不确定的错误现象,如果PA0是上拉输入,那么我们就知道引脚悬空,PA0就是高电平。

9431c10c01584ac887ffca020d9edc96.jpg

第二个图,外部接了一个上拉电阻,上拉想象成一个弹簧,把端口往屋顶上拉,按键松手时,引脚由于上拉作用,自然保持高电平,当按键按下时,引脚接地,引脚为低电平,因此PA0可以配置为浮空输入或者上拉输入,如果是上拉输入那么就是内外两个上拉电阻共同作用了,高电平更稳定,低电平损耗大。

3f1140d434944e73bcaa930d7d18a4d9.jpg

 第三个图,要求PA0配置为下拉输入的模式,当按键按下时,引脚为高电平,松手时,引脚默认为低电平。

第四张图,同理就是多加一个下拉电阻。

 2.传感器模块电路:

c6bcca58ab994ffaa739d8c626b290ad.jpg

 3.C语言

a0a6a25805184fac8135b83eaf22cc0a.jpg 83b722b37c184adaadfa8050b73a7245.jpg

 c966255f6b874fa79b3c3bbc12cc07b1.jpg

 typedef和宏定义区别:

宏定义新名字在左边,typedef的新名字在右边,宏定义不需要分号,typedef后面必须加分号,宏定义的改名范围要更宽一些,对于变量类型重命名而言,使用typedef更加安全,而typedef对命名进行检查,如果不是变量类型名字,那是不行的。

196d97371ed94bee8d933e3cae508d93.jpg

 应用:结构体的定义

f766dca7cbfe40f5b64335c3bc82037d.jpg

 结构体的引用:

0e6ae504e491441994498a49755cc85b.jpg

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值