3246|12

348

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

硬件I2C的调试问题求助 [复制链接]

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

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

代码如下,使用的是TI的driverlib库写的
初始化如下:

读单个字节代码如下:





最新回复

如果肯定硬件没问题,分析一下外设的读写时序,关注一下数据有效建立的时间。  详情 回复 发表于 2017-1-9 14:09
 
点赞 关注

回复
举报

732

帖子

2

TA的资源

纯净的硅(中级)

沙发
 
硬件IIC速率限制呗,你得看器件IIC的最高速率是多少,太快的话是不支持的

点评

已经用示波器去抓波形的了,得到的结果就是上面说的那样子,速率不高的,现在的频率是100k,器件IC是可以100k-400k的  详情 回复 发表于 2017-1-9 13:44
 
个人签名亚里士缺德
 

回复

1310

帖子

3

TA的资源

一粒金砂(高级)

板凳
 
0xff是不是因为iic上拉,默认读出的结果?

点评

不会的,我用示波器抓波形,发送从机地址的时候SDA都能拉低,数值正确,当读数据的时候,就全部高了,所以不懂。。。  详情 回复 发表于 2017-1-9 13:45
 
个人签名

RTEMS

 
 

回复

613

帖子

2

TA的资源

纯净的硅(初级)

4
 
本帖最后由 long521 于 2017-1-9 13:35 编辑

速率高了,拉不下来,或者说是上拉太强了
代表super captain回一贴,

点评

你这个是代表玉老板说的。。  详情 回复 发表于 2017-1-9 13:53
不会的,我用示波器抓波形,发送从机地址的时候SDA都能拉低,数值正确,当读数据的时候,就全部高了,所以不懂。。。 你成了大队长的助理了不?  详情 回复 发表于 2017-1-9 13:46
 
个人签名我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
 
 

回复

767

帖子

2

TA的资源

纯净的硅(初级)

5
 
可以全速跑,然后示波器量一下 是不是一直是高电平

点评

一直在用示波器在测量,示波器得到的结果跟上面说的是一样的。全速跑才能抓到波形,单步调试的话,抓不到波形  详情 回复 发表于 2017-1-9 13:47
 
个人签名物致DIY 欢迎你的加入~
QQ群:646461928 公众号:智物知心致成
小店
 
 

回复

348

帖子

0

TA的资源

一粒金砂(高级)

6
 
汤权 发表于 2017-1-9 13:12
硬件IIC速率限制呗,你得看器件IIC的最高速率是多少,太快的话是不支持的

已经用示波器去抓波形的了,得到的结果就是上面说的那样子,速率不高的,现在的频率是100k,器件IC是可以100k-400k的
 
 
 

回复

348

帖子

0

TA的资源

一粒金砂(高级)

7
 
54chenjq 发表于 2017-1-9 13:25
0xff是不是因为iic上拉,默认读出的结果?

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

回复

348

帖子

0

TA的资源

一粒金砂(高级)

8
 
long521 发表于 2017-1-9 13:34
速率高了,拉不下来,或者说是上拉太强了
代表super captain回一贴, ...

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

你成了大队长的助理了不?
 
 
 

回复

348

帖子

0

TA的资源

一粒金砂(高级)

9
 
皈依 发表于 2017-1-9 13:39
可以全速跑,然后示波器量一下 是不是一直是高电平

一直在用示波器在测量,示波器得到的结果跟上面说的是一样的。全速跑才能抓到波形,单步调试的话,抓不到波形
 
 
 

回复

6040

帖子

197

TA的资源

版主

10
 
long521 发表于 2017-1-9 13:34
速率高了,拉不下来,或者说是上拉太强了
代表super captain回一贴, ...

你这个是代表玉老板说的。。
 
 
 

回复

2700

帖子

0

TA的资源

五彩晶圆(初级)

11
 
如果肯定硬件没问题,分析一下外设的读写时序,关注一下数据有效建立的时间。

点评

硬件是没有问题的,因为同样的硬件,我师父调通了的,我现在自己调试 这个建立时间是什么意思?看了规格书,只看见有一个SCL的频率范围,就没有跟I2C有时间相关的数据了  详情 回复 发表于 2017-1-9 14:35
 
个人签名作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
EEWORLD开发板置换群:309018200,——电工们免费装β的天堂,商家勿入!加群暗号:喵
 
 

回复

348

帖子

0

TA的资源

一粒金砂(高级)

12
 
elvike 发表于 2017-1-9 14:09
如果肯定硬件没问题,分析一下外设的读写时序,关注一下数据有效建立的时间。

硬件是没有问题的,因为同样的硬件,我师父调通了的,我现在自己调试
这个建立时间是什么意思?看了规格书,只看见有一个SCL的频率范围,就没有跟I2C有时间相关的数据了
 
 
 

回复

348

帖子

0

TA的资源

一粒金砂(高级)

13
 
感谢楼上热情的各位!
解决问题了
方法:在每次置了Start的UCTXSTT位后,需要等待UCTXSTT这个位的置起,就通信正常了,代码如下
  1.     //Send start
  2.     HWREG16(EUSCI_B0_BASE + OFS_UCBxCTLW0) |= UCTXSTT;
  3.     while(HWREG16(EUSCI_B0_BASE + OFS_UCBxCTLW0) & UCTXSTT);
复制代码
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表