打印
[PIC®/AVR®/dsPIC®产品]

I2C从设备接收不到数据

[复制链接]
4166|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wyjie|  楼主 | 2021-8-14 21:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pzsh 于 2021-9-10 20:51 编辑

我使用MCC生成代码之后,将主设备的代码烧入后,使用示波器能看见正确的波形,但是应答位为高,之后去从设备调试代码,发现接收缓冲器中没有收到任何东西,这是为什么?

使用特权

评论回复
沙发
supernan| | 2021-8-14 21:48 | 只看该作者
是因为配置出问题了吗?

使用特权

评论回复
板凳
wyjie|  楼主 | 2021-8-14 21:55 | 只看该作者
因为是MCC生成的代码,我就不附代码了

使用特权

评论回复
地板
supernan| | 2021-8-14 21:57 | 只看该作者
应答为高,说明从设备没有正确响应

使用特权

评论回复
5
heweibig| | 2021-8-14 21:59 | 只看该作者
首先确认波形有没有真的给到从设备内部

使用特权

评论回复
6
wangzsa| | 2021-8-14 22:01 | 只看该作者
既然能够看到I2C的波形, 那么MCC生成的代码肯定是能够工作的.

使用特权

评论回复
7
chuxh| | 2021-8-14 22:03 | 只看该作者
请检查下连接, 有没有SCL/SDA搞反.

使用特权

评论回复
8
yufe| | 2021-8-14 22:05 | 只看该作者
检查下从设备, 看看供电, 连接, 片选之类的是否正常

使用特权

评论回复
9
yufe| | 2021-8-14 22:07 | 只看该作者
看看发出来的波形, 是否符合从设备的I2C的时序要求, 通常指速度

使用特权

评论回复
10
chenjunt| | 2021-8-14 22:09 | 只看该作者
先检查的看看吧.你都有示波器了, 调I2C应该很简单的..

使用特权

评论回复
11
zhanglli| | 2021-8-14 22:11 | 只看该作者
程序可能有问题     

使用特权

评论回复
12
tian111| | 2021-8-14 22:19 | 只看该作者
控制总线产生一个SCL下降沿,器件将发送数据至SDA,单片机就读取这个SDA,然后产生下一个SCL下降沿。

使用特权

评论回复
13
ousj| | 2021-8-14 22:23 | 只看该作者
示波器勾出来信号对吗

使用特权

评论回复
14
chuxh| | 2021-8-14 22:26 | 只看该作者
是不是没有上拉电阻呢  

使用特权

评论回复
15
zhanghqi| | 2021-8-14 22:33 | 只看该作者
I2C总线读取什么设备呢

使用特权

评论回复
16
dengdc| | 2021-8-14 22:36 | 只看该作者
要接上拉电阻   

使用特权

评论回复
17
ousj| | 2021-8-14 22:39 | 只看该作者
拉一个小电阻就可以了  

使用特权

评论回复
18
songqian17| | 2021-8-14 22:45 | 只看该作者
是不是代码写的有问题呢

使用特权

评论回复
19
chenjunt| | 2021-8-14 22:50 | 只看该作者
是不是速度太快了呢  

使用特权

评论回复
20
jiajs| | 2021-8-14 22:53 | 只看该作者
读取的时候注意时序。  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

927

主题

12706

帖子

5

粉丝