硬件I2C的调试问题求助

2019-03-24 08:42发布

本帖最后由 火火山 于 2017-1-9 11:46 编辑

实现:读取某个寄存器的值                                                                                                                                                       问题:全速运行时,RXBUF得到的是0XFF ,当单步调试时,RXBUF得到的是0X48,得到的值是正确的
请问为什么会出现这样的结果?各位大神们可以提供一下思路吗?

代码如下,使用的是TI的driverlib库写的
初始化如下:
i2c1.PNG
读单个字节代码如下:
i2c2.PNG




此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
汤权
1楼-- · 2019-03-24 15:25
 精彩回答 2  元偷偷看……
54chenjq
2楼-- · 2019-03-24 15:51
< :TI_MSP430_内容页_SA7 --> 0xff是不是因为iic上拉,默认读出的结果?
long521
3楼-- · 2019-03-24 18:46
本帖最后由 long521 于 2017-1-9 13:35 编辑

速率高了,拉不下来,或者说是上拉太强了
代表super captain回一贴,
皈依
4楼-- · 2019-03-24 20:34
 精彩回答 2  元偷偷看……
火火山
5楼-- · 2019-03-25 00:13
汤权 发表于 2017-1-9 13:12
硬件IIC速率限制呗,你得看器件IIC的最高速率是多少,太快的话是不支持的

已经用示波器去抓波形的了,得到的结果就是上面说的那样子,速率不高的,现在的频率是100k,器件IC是可以100k-400k的
火火山
6楼-- · 2019-03-25 05:41
54chenjq 发表于 2017-1-9 13:25
0xff是不是因为iic上拉,默认读出的结果?

不会的,我用示波器抓波形,发送从机地址的时候SDA都能拉低,数值正确,当读数据的时候,就全部高了,所以不懂。。。

一周热门 更多>

相关问题

    相关文章