STM32F0 I2C的GPIO配置引起奇怪的现象

2019-12-20 21:32发布

本帖最后由 flash3g 于 2018-4-10 10:35 编辑

阿里旺旺图片20180410102140.jpg (242.18 KB, 下载次数: 0) 下载附件 2018-4-10 10:35 上传

SDA接到10K上拉电阻到5V
SCL没有接上拉电阻

用代码的144行I2C状态会一直返回忙碌标志,测量引脚电压为 SDA=5V,SCL=0.5V

用代码的143行I2C是OK的,测量引脚电压为 SDA=3.9V,SCL=3.3V

不能理解其中的原理,如果没有上下拉电阻就不能正常工作,要打开引脚的上拉电阻才能正常工作。

编辑原因:图片引用错了,修正一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
GFM123
1楼-- · 2019-12-21 15:15
两个管脚都要接外部上拉电阻。
dzymushi
2楼-- · 2019-12-21 18:05
 精彩回答 2  元偷偷看……
ilan2003
3楼-- · 2019-12-21 19:06
楼主是牛人,不按照规则办事也能找出规律啊
liujinhan
4楼-- · 2019-12-21 19:18
进来看奇怪!你说奇怪不奇怪!

ZL 应该学会一招,可以省个电阻了!
Gline77
5楼-- · 2019-12-21 20:18
https://blog.csdn.net/lq18811566072/article/details/51585743    推荐lz看看
flash3g
6楼-- · 2019-12-22 00:34
OneRain 发表于 2018-4-10 11:14
I2C必须外接上拉。。。协议的规则!!!

书到用时方恨少,我以为SCL是主机推挽输出的,所以就没有上拉电阻

一周热门 更多>