关于iic这个章节,等待应答信号,SDA设置为输入,为什么IICSDA还能拉高。

2019-07-21 06:19发布

本帖最后由 baoenjiasi 于 2017-9-22 09:58 编辑


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
baoenjiasi
1楼-- · 2019-07-22 02:04
白菜君 发表于 2017-9-22 10:58
你是怎么检测的?不能给等待ACK的地方设置断点来检测SDA,这样测SDA是一直为高的,,断点直接达到结尾,测 ...

我就是画红线那里不明白,设置为sda输入了,为什么iic_sda 还能置1拉高
773208906
2楼-- · 2019-07-22 06:54
iic应答的信号一般为低电平,如果在配置前sda就为低电平,而实际这个低电平并不是从设备返回的不就乱套了
baoenjiasi
3楼-- · 2019-07-22 08:28
白菜君 发表于 2017-9-22 10:58
你是怎么检测的?不能给等待ACK的地方设置断点来检测SDA,这样测SDA是一直为高的,,断点直接达到结尾,测 ...

不是啊,是IO设置为输出才能致高SDA的高电平么,然后画红线这里,代码里先设置SDA这个IO为输入,然后又SAD=1;这里我不明白。。输入模式还能IO拉高电平?
15767909146
4楼-- · 2019-07-22 11:22
 精彩回答 2  元偷偷看……
123精灵123
5楼-- · 2019-07-22 13:10
怎么查看IIC是否配置对了?它的应答信号是什么?
Nukest
6楼-- · 2019-07-22 17:42
本帖最后由 Nukest 于 2018-1-26 09:19 编辑
baoenjiasi 发表于 2017-9-23 09:48
不是啊,是IO设置为输出才能致高SDA的高电平么,然后画红线这里,代码里先设置SDA这个IO为输入,然后又SA ...

上拉电阻的目的是为了保证在无信号输入时输入端的电平为高电平。而在信号输入为低电平是输入端的电平应该也为低电平。如果没有上拉电阻,在没有外界输入的情况下输入端是悬空的,它的电平是未知的无法保证的,上拉电阻就是为了保证无信号输入时输入端的电平为高电平,同样还有下拉电阻它是为了保证无信号输入时输入端的电平为低电平.





QQ截图20180126091331.png
这里是把GPIO配置为上拉输入模式

一周热门 更多>