[PIC®/AVR®/dsPIC®产品] I2C从设备接收不到数据

[复制链接]
1522|22
 楼主| 驱魔鮔 发表于 2020-3-26 17:17 | 显示全部楼层 |阅读模式
本帖最后由 驱魔鮔 于 2020-3-26 17:21 编辑

设备:PIC18F26K83
模块:I2C

想请教各位大佬一个问题,我使用MCC生成代码之后,将主设备的代码烧入后,使用示波器能看见正确的波形,但是应答位为高,之后去从设备调试代码,发现接收缓冲器中没有收到任何东西,这是为什么?是因为配置出问题了吗?因为是MCC生成的代码,我就不附代码了
accepta 发表于 2020-3-29 16:15 | 显示全部楼层
应答为高,说明从设备没有正确响应,首先确认波形有没有真的给到从设备内部
CoolSilicon 发表于 2020-3-31 09:20 | 显示全部楼层
既然能够看到I2C的波形, 那么MCC生成的代码肯定是能够工作的.

从设备不响应,
1.请检查下连接, 有没有SCL/SDA搞反.
2. 检查下从设备, 看看供电, 连接, 片选之类的是否正常;
3. 看看发出来的波形, 是否符合从设备的I2C的时序要求, 通常指速度...
先检查的看看吧.你都有示波器了, 调I2C应该很简单的..
kkzz 发表于 2020-4-1 21:07 | 显示全部楼层
程序可能有问题     
hudi008 发表于 2020-4-1 21:07 | 显示全部楼层
控制总线产生一个SCL下降沿,器件将发送数据至SDA,单片机就读取这个SDA,然后产生下一个SCL下降沿。
lzmm 发表于 2020-4-1 21:07 | 显示全部楼层
示波器勾出来信号对吗
minzisc 发表于 2020-4-1 21:08 | 显示全部楼层
是不是没有上拉电阻呢  
selongli 发表于 2020-4-1 21:08 | 显示全部楼层
I2C总线读取什么设备呢
fentianyou 发表于 2020-4-1 21:09 | 显示全部楼层
要接上拉电阻   
xiaoyaodz 发表于 2020-4-1 21:09 | 显示全部楼层
拉一个小电阻就可以了  
febgxu 发表于 2020-4-1 21:09 | 显示全部楼层
是不是代码写的有问题呢
sdlls 发表于 2020-4-1 21:10 | 显示全部楼层
是不是速度太快了呢  
pixhw 发表于 2020-4-1 21:10 | 显示全部楼层
读取的时候注意时序。  
selongli 发表于 2020-4-1 21:10 | 显示全部楼层
把电路图上传看看吧   
kkzz 发表于 2020-4-1 21:10 | 显示全部楼层
检查I2C设备地址写对了没
minzisc 发表于 2020-4-1 21:10 | 显示全部楼层
iic比较弱的。         
hudi008 发表于 2020-4-1 21:10 | 显示全部楼层
建议检查一下下进去的CMD是不是正确  
lzmm 发表于 2020-4-1 21:10 | 显示全部楼层
时序可以自己写,只要满足条件就好
pixhw 发表于 2020-4-1 21:10 | 显示全部楼层
硬件的问题,也有可能的。  
sdlls 发表于 2020-4-1 21:10 | 显示全部楼层
太快的速度可能影响效率。  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部