OpenEdv-开源电子网

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

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

[复制链接]

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2016-3-29
在线时间
12 小时
发表于 2017-9-21 23:53:25 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 baoenjiasi 于 2017-9-22 09:58 编辑


QQ图片20170922095740.png

最佳答案

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

你好好学学STM32基础知识吧。 设置输入,如果再设置ODR是1,就是上拉输入,设置ODR为0,就是下拉输入。 怎么这么多人搞不明白呢?怎么看的教程???
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-9-21 23:53:26 | 显示全部楼层
你好好学学STM32基础知识吧。
设置输入,如果再设置ODR是1,就是上拉输入,设置ODR为0,就是下拉输入。
怎么这么多人搞不明白呢?怎么看的教程???
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-9-22 00:58:56 | 显示全部楼层
你自己看看链接
回复

使用道具 举报

4

主题

380

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3088
金钱
3088
注册时间
2015-10-17
在线时间
320 小时
发表于 2017-9-22 08:09:32 | 显示全部楼层
iic 都有上拉电阻啊,释放iic的时候,设置高阻抗输入,或者弱上拉,电平就由外部器件控制了
回复

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2016-3-29
在线时间
12 小时
 楼主| 发表于 2017-9-22 09:58:53 | 显示全部楼层

额,原子哥我上传时是图来着,,sorry
回复

使用道具 举报

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2017-8-4
在线时间
45 小时
发表于 2017-9-22 10:55:11 | 显示全部楼层
你的意思是在第九个周期等待ACK,SDA自动拉低时SDA一直保持高电平???
回复

使用道具 举报

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2017-8-4
在线时间
45 小时
发表于 2017-9-22 10:58:31 | 显示全部楼层
你是怎么检测的?不能给等待ACK的地方设置断点来检测SDA,这样测SDA是一直为高的,,断点直接达到结尾,测收发数据是否正常
回复

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2016-3-29
在线时间
12 小时
 楼主| 发表于 2017-9-22 23:17:10 | 显示全部楼层
白菜君 发表于 2017-9-22 10:58
你是怎么检测的?不能给等待ACK的地方设置断点来检测SDA,这样测SDA是一直为高的,,断点直接达到结尾,测 ...

我就是画红线那里不明白,设置为sda输入了,为什么iic_sda 还能置1拉高
回复

使用道具 举报

1

主题

32

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2936
金钱
2936
注册时间
2017-3-6
在线时间
398 小时
发表于 2017-9-23 08:13:55 | 显示全部楼层
iic应答的信号一般为低电平,如果在配置前sda就为低电平,而实际这个低电平并不是从设备返回的不就乱套了
回复

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2016-3-29
在线时间
12 小时
 楼主| 发表于 2017-9-23 09:48:18 | 显示全部楼层
白菜君 发表于 2017-9-22 10:58
你是怎么检测的?不能给等待ACK的地方设置断点来检测SDA,这样测SDA是一直为高的,,断点直接达到结尾,测 ...

不是啊,是IO设置为输出才能致高SDA的高电平么,然后画红线这里,代码里先设置SDA这个IO为输入,然后又SAD=1;这里我不明白。。输入模式还能IO拉高电平?
回复

使用道具 举报

42

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
456
金钱
456
注册时间
2017-9-8
在线时间
58 小时
发表于 2017-10-10 22:02:06 | 显示全部楼层
baoenjiasi 发表于 2017-9-22 23:17
我就是画红线那里不明白,设置为sda输入了,为什么iic_sda 还能置1拉高

同问!!!!!!!



回复

使用道具 举报

9

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2017-12-12
在线时间
19 小时
发表于 2017-12-27 17:10:52 | 显示全部楼层
怎么查看IIC是否配置对了?它的应答信号是什么?
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2018-1-25
在线时间
5 小时
发表于 2018-1-26 09:16:36 | 显示全部楼层
本帖最后由 Nukest 于 2018-1-26 09:19 编辑
baoenjiasi 发表于 2017-9-23 09:48
不是啊,是IO设置为输出才能致高SDA的高电平么,然后画红线这里,代码里先设置SDA这个IO为输入,然后又SA ...

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





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

使用道具 举报

7

主题

60

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
299
金钱
299
注册时间
2015-10-21
在线时间
52 小时
发表于 2018-4-2 18:04:36 | 显示全部楼层
正点原子 发表于 2017-9-21 23:53
你好好学学STM32基础知识吧。
设置输入,如果再设置ODR是1,就是上拉输入,设置ODR为0,就是下拉输入。
...

请教原子:楼主贴图中的 ucErrTime > 250 是何意思,与250比较的依据是什么,感谢


回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-29 03:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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