野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14354|回复: 2

新手提问,关于STM32F103,GPIO-IDR寄存器问题

[复制链接]
发表于 2020-6-21 13:42:41 | 显示全部楼层 |阅读模式
本帖最后由 1234tw 于 2020-6-21 13:54 编辑

通过视频教学我实现了用按键来小灯亮灭的功能

其中有一个宏是这样的:
通过按键来使得LED_G对应的位取反,当中用的是ODR

#define   LED_G_TOGGLE        {LED_G_GPIOx->ODR ^= GPIO_Pin_0;}

后面我又想基于小灯的状态来完成不同的操作,于是要判断小灯的亮灭,我便想到了使用IDR
然后便发现了问题,通过读取IDR当中的PA0(小灯对应端口)发现总是0

a = LED_G_GPIOx->IDR & 0x00000001;
a的输出总是0

下面是PA0的配置
野火论坛202006211332051198..png
不太清楚是啥原因,来问问大家
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------。。。。问题解决了
不会删贴。。。。



回复

使用道具 举报

发表于 2020-6-22 08:22:56 | 显示全部楼层
配置的是输出模式  你干嘛读输入寄存器呢  
想知道GPIO的状态 输出模式下 可以读ODR寄存器的值
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-6-23 09:30:07 | 显示全部楼层
wwhh 发表于 2020-6-22 08:22
配置的是输出模式  你干嘛读输入寄存器呢  
想知道GPIO的状态 输出模式下 可以读ODR寄存器的值 ...

好的,谢谢哦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 11:44 , Processed in 0.040736 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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