MSP430+硬件IIC+24C02

[复制链接]
3535|9
 楼主| 建工小飞 发表于 2014-3-17 16:17 | 显示全部楼层 |阅读模式
用430内部自带的硬件IIC接口与24c02通信,现在实现了写数据,但是读数据出现了问题。
比如我向第一个字节地址内写入8,然后读出数据,单步debug调试的时候,程序执行箭头的位置,查看寄存器UCB0RXBUF = 9,说明读到数据了,UCB0RXIFG=1,进入中断,RXData = UCB0RXBUF = 0xff,查看j的值为1(初始为0),说明确实进入中断了,而且中断只执行了一次,也产生了stop信号。
If UCBxRXBUF is not read the master holds the bus during reception of the last data
bit and until the UCBxRXBUF is read.
  
这是datasheet,UCBxRXBUF 没有读的情况下,总线保持接收最后一个bit,也就是说只要UCBxRXBUF没有读,应该保持值不变,而我进行读UCBxRXBUF是在中断中进行的    网上找了msp430+24c02的大都是模拟iic的,没有用内部的硬件接口。我的问题是UCBxRXBUF的值怎么就变了,求熟悉msp430的大神指导。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 建工小飞 发表于 2014-3-17 17:44 | 显示全部楼层
怎么没人,自己顶
ctlzctlz 发表于 2014-3-17 18:33 | 显示全部楼层
mmuuss586 发表于 2014-3-17 20:04 | 显示全部楼层
 楼主| 建工小飞 发表于 2014-3-17 21:09 | 显示全部楼层
mmuuss586 发表于 2014-3-17 20:04
帮顶

嘻嘻,谢谢。。

vivilzb1985 发表于 2014-3-17 21:35 | 显示全部楼层
下载参考的了啊
dirtwillfly 发表于 2014-3-17 22:53 | 显示全部楼层
读出来的数据和写进去的不一样?
dirtwillfly 发表于 2014-3-17 23:17 | 显示全部楼层
楼主能把完整的程序传一下吗?
yirongfu 发表于 2014-3-18 14:58 | 显示全部楼层
楼主,你把24C02器件的地址往哪里放???我用过的430是有专门的地址寄存器的,你的没有?

建议你引用程序的时候用编辑里头相应的贴源代码功能,这样便于别人复制回复。
另外,建议仔细阅读用户手册的有关I2C Master Transmitter Mode和I2C Master Receiver Mode的时序图,然后很多问题就能自己解决了。:lol
shenmu2012 发表于 2014-3-18 16:56 | 显示全部楼层
IIC总线的最好采用模拟的IIC总线比较好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

32

帖子

0

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