查看: 3770|回复: 1

【I2C】FM33LC026N I2C功能问题求助!

[复制链接]

4

主题

6

帖子

83

积分

中级工程师

Rank: 2

积分
83
发表于 2021-8-10 15:08:17 | 显示全部楼层 |阅读模式
问题描述:    在调I2C EEPROM的功能,发送START位成功,禁止接收,紧接着利用写MSPBUF寄存器在向I2C发送0xA0时,I2C一直处于发送的忙状态(BUSY和BF均保持1),查看MSPBUF寄存器,其值一直为0x40。感觉只发送了第一个bit,后面就没发送了。我用例程也试了,也是一样的现象。帮忙看看是哪儿出问题了?
    例程采用的是“例程_FL_IAR\I2C_EEPROM”。
期待您的解惑,谢谢!


回复

使用道具 举报

154

主题

846

帖子

4624

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4624
发表于 2021-8-11 08:50:44 | 显示全部楼层
调试i2c 要注意,不要将i2c的寄存器用watch打开看。有的寄存器标志是读清的。被watch窗口读走了,那程序中就判不到标志了。
另外,如果调不通,可以用示波器探头监视两根线,抓取波形。i2c的协议很死。波形必定与器件手册一致才是对的。完全可以结合示波器确认。
想你这个情况,先看下0xa0 的波形有没有发出,有没有ack信号波形。
回复

使用道具 举报

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

本版积分规则

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