OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2553|回复: 5

GPIO_ReadInputDataBit函数在使用时IO配置为输出可以吗?

[复制链接]

12

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2018-11-22
在线时间
24 小时
发表于 2019-7-20 13:55:12 | 显示全部楼层 |阅读模式
10金钱
请问大家
1、我在别人的程序中看到 IO配置为推挽输出,还在使用GPIO_ReadInputDataBit  也依旧没有问题,我的理解时读取电平时应该配置为输入类的,那如果这样没问题的话,原子哥的IIC历程中,是不是可以去掉下面寄存器读写转换操作,直接把 READ_SDA 定义为GPIO_ReadInputDataBit呢?
EM截图_2019720135157.png

2、还有一个问题,我在另一个程序中使用这种寄存器读写转换,然后再使用GPIO_ReadInputDataBit反而读不出来,去掉读写转换,就能正常读出来。这是什么原因呢

最佳答案

查看完整内容[请看2#楼]

这是你对IO接口结构没弄明白。IO接口写输出和读输入,软件上是操作一个寄存器,实际上STM32内部是两个不同的寄存器,不管IO口设定为何种模式,都可以进行寄存器的读写操作。只是在IO输出模式下,IO输出寄存器映像到IO输出口,同时也映像到IO输入寄存器。在IO输入模式下,IO输出寄存器断开与输出口的连接,而输入接口映像到IO输入寄存器。你的第1个问题,说的是不进行寄存器读写转换,其实是不进行IO口的输出模式转换输入模式,IO口 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

59

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1159
金钱
1159
注册时间
2018-5-30
在线时间
151 小时
发表于 2019-7-20 13:55:13 | 显示全部楼层
这是你对IO接口结构没弄明白。IO接口写输出和读输入,软件上是操作一个寄存器,实际上STM32内部是两个不同的寄存器,不管IO口设定为何种模式,都可以进行寄存器的读写操作。只是在IO输出模式下,IO输出寄存器映像到IO输出口,同时也映像到IO输入寄存器。在IO输入模式下,IO输出寄存器断开与输出口的连接,而输入接口映像到IO输入寄存器。你的第1个问题,说的是不进行寄存器读写转换,其实是不进行IO口的输出模式转换输入模式,IO口上的信号就不能反映到输入寄存器上。第2个问题,就更好理解了,你的IO接口不是输入模式,那你就不能设为输入模式。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-7-21 03:10:46 | 显示全部楼层
不行,你的推挽输出状态,会 影响到IIC通信的数据读取的。 读不出来,说明你设置不对。
回复

使用道具 举报

12

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2018-11-22
在线时间
24 小时
 楼主| 发表于 2019-7-21 12:10:44 | 显示全部楼层
正点原子 发表于 2019-7-21 03:10
不行,你的推挽输出状态,会 影响到IIC通信的数据读取的。 读不出来,说明你设置不对。

谢谢原子哥的回复,可是确实我的那个程序在配置为推挽输出时,直接读取时正常的,这是什么情况,我也很纳闷,希望原子哥能给解释下
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-7-22 02:23:02 | 显示全部楼层
陈梁 发表于 2019-7-21 12:10
谢谢原子哥的回复,可是确实我的那个程序在配置为推挽输出时,直接读取时正常的,这是什么情况,我也很纳 ...

你觉得正常,就一直这么用吧。
不出问题就好,出问题就自己哭了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

12

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2018-11-22
在线时间
24 小时
 楼主| 发表于 2019-7-23 11:58:09 | 显示全部楼层
正点原子 发表于 2019-7-22 02:23
你觉得正常,就一直这么用吧。
不出问题就好,出问题就自己哭了

谢谢原子哥的提醒哈,我只是感觉推挽输出还能读取正常,到这个现象挺疑惑的,以后还是不这样用了。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 04:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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