野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 303|回复: 4

GPIO输入按键检测——readinputdatabit函数

[复制链接]
发表于 2019-11-13 15:21:46 | 显示全部楼层 |阅读模式
提供库函数代码如下:https://paste.ubuntu.com/p/bCrvh5ZqqT/
想向各位请教的是
if
((
GPIOx
->
IDR
&
GPIO_Pin
)
!=
(
uint32_t
)
Bit_RESET
)二者相与是什么意思,该怎么理解呢?谢谢!!!

回复

使用道具 举报

发表于 2019-11-13 22:50:07 | 显示全部楼层
用宏定义的码去与出寄存器中对应的某位
回复 支持 1 反对 0

使用道具 举报

发表于 2019-11-14 15:03:23 | 显示全部楼层
IDR是端口输入数据寄存器,当你配置了一个GPIO,比如PA1,那么IDR1就会置1,然后与GPIO的pin按位与,当按键按下时if的条件为真,返回Bit_SET
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-11-15 10:59:05 | 显示全部楼层
983462736 发表于 2019-11-14 15:03
IDR是端口输入数据寄存器,当你配置了一个GPIO,比如PA1,那么IDR1就会置1,然后与GPIO的pin按位与,当按键 ...

多谢~~~~~~~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-15 10:59:37 | 显示全部楼层
WishWish 发表于 2019-11-13 22:50
用宏定义的码去与出寄存器中对应的某位

弄懂了,多谢~~~~~~~~~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|站点地图|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号-2 ) 大学生ARM嵌入式2群

GMT+8, 2020-8-7 13:49 , Processed in 0.153630 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表