i2c_tmp102试验 - TMS320C6655/57 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 338|回复: 4

[未解决] i2c_tmp102试验

[复制链接]

3

主题

7

帖子

47

积分

新手上路

Rank: 1

积分
47
发表于 2022-4-18 16:13:58 | 显示全部楼层 |阅读模式


CSL_I2cRegs *i2cRegs = ((CSL_I2cRegs*) CSL_I2C_DATA_CONTROL_REGS);
#define CSL_I2C_DATA_CONTROL_REGS  (0x02530000)
此处我理解为 CSL_I2C_DATA_CONTROL_REGS为mcu内存地址,传递给i2cRegs关联IIC相关寄存器

看AT24datasheet 所知 通讯主要为SCL和SDA两线 (其中涉及 “时序图”起始信号 暂停信号 应答等器件操作)一知半解
发送寄存器
接受寄存器  

在测i2c_tmp102试验时 一直卡在此处while
调试监控所得i2cRegs->ICSTR 初始值为1040  一直单步断点到达while处 变为5120&0x10所以一直while等待。
但是从main起始到while 并没对i2cRegs->ICSTR赋值,所以我觉得i2cRegs本为指针,那么可能是mcu内部对i2cRegs->ICSTR这个地址赋值,类似串口状态反馈。

述说简短,针对本实验我的疑惑点如下:
1.从试验逻辑我只看到对i2cRegs所指寄存器赋值,并没有看到“起始”“停止”等时序操作
2.i2cRegs寄存器在网上找了一圈没有看到每个寄存器的“含义”
3.程序为什么会卡while处?

最后:
希望坛主或者其他大佬能解惑,或者提供相关 文献参考,谢谢(demo没有做任何修改的)
我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励0 , 目前已有4人回答

本帖子中包含更多资源

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

x
最近访问 头像模式 列表模式
回复

使用道具 举报

3

主题

7

帖子

47

积分

新手上路

Rank: 1

积分
47
 楼主| 发表于 2022-4-18 16:17:14 | 显示全部楼层
开发板为6657
回复 支持 反对

使用道具 举报

3

主题

7

帖子

47

积分

新手上路

Rank: 1

积分
47
 楼主| 发表于 2022-4-18 20:17:39 | 显示全部楼层
如下图

初始化应该没有问题,i2c_reg_write(1, 6);第一个1传到寄存器里面了,ICSTR是中断状态寄存器吗?

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

0

主题

44

帖子

182

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
182
发表于 2022-4-19 09:00:37 | 显示全部楼层
您好,若使用我司板卡测试案例,可使用bin目录下的镜像.out文件先测试一遍,若测试仍无法正常运行,可联系我司技术服务看是否I2C硬件损坏。
回复 支持 反对

使用道具 举报

3

主题

7

帖子

47

积分

新手上路

Rank: 1

积分
47
 楼主| 发表于 2022-4-19 11:36:51 | 显示全部楼层
创龙科技support 发表于 2022-4-19 09:00
您好,若使用我司板卡测试案例,可使用bin目录下的镜像.out文件先测试一遍,若测试仍无法正常运行,可联系 ...

直接把out烧进去可以,然后再debug run 也可以了,至于为什么会出现之前的情况就不清楚了,不太清楚其中具体的时序问题
回复 支持 反对

使用道具 举报

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

本版积分规则  回帖提醒

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号  

GMT+8, 2022-5-27 07:01 , Processed in 0.075395 second(s), 45 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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