#IIC通信的疑惑点# #STM32# 今天整理IIC通信时,发现一个比较奇怪的现象,请大佬们解惑。 先说说电路环境: STM32单片机通过IIC驱动传感器,传感器的数据手册推荐上拉电阻为4.7K,实际使用也是4.7k。数据通信是稳定的。示波器在传感器端外接飞线进行观察。 再来说说程序环境: 程序使用标准库,IIC驱动时,SDA和SCL的操作通过GPIO_SetBits和GPIO_ResetBits进行设置。延时函数使用系统定时器,误差不超过1us。 问题:分析波形时,发现时钟线拉高时间为3us,数据线拉高时间为1us。这种时间差是什么原因造成的呢?
#IIC通信的疑惑点#
#STM32#
硬创社
全部评论 默认 最新
薛天电子 作者
2023-09-04 17:05:34 来自陕西
问题已经解决了,主要原因是上拉电阻阻值不对,贴装物料时,料盒里面的物料混合了。谢谢大家[爱心]
软硬兼施
2023-09-04 17:12:01 来自广东
混料,概率很低又往往容易被忽略的问题[偷笑]
薛天电子 作者
2023-09-04 17:16:34 来自陕西
对的,这个问题确实不容易注意到,尤其是样品盒,0402的小电阻,真的很容易出错。
软硬兼施
2023-09-04 16:37:44 来自广东
你既然用软件模拟IIC,为什么还把IO设置为IIC模式,直接设置为输入或者输出即可; 另外检查一下所有挂在总线上的设备,有没有哪个设备把SDA设置了内部上拉,或者SCL的走线有没有比SDA更多,所以寄生电容较大? 也可以直接测一下两条线的等效上拉电阻是不是一样大
薛天电子 作者
2023-09-04 17:01:45 来自陕西
把IO设置为IIC模式这个应该不影响,两条线得长度相差没有1mm的。
薛天电子 作者
2023-09-04 17:04:02 来自陕西
测量了一下上拉电阻,有一个值不对,物料盒里4.7和47的混装了[撇嘴]
开源一小步
2023-09-04 16:17:18 来自江苏
IO模式?
薛天电子 作者
2023-09-04 16:26:14 来自陕西
发不了图片,我直接发源程序吧,都是开漏输出。
已折叠部分评论 展开
没有更多啦~