关于RS6240 I2C通信过程中,RS6240做主机往从设备写数据操作的问题

u010750922 2026-05-20 16:30:40

 

 我在主函数增加了I2C初始化程序,使用的是POLL  主机模式,初始化过程没有出错,往从设备读数据的时候,先写寄存器地址,返回的是1,应该是写成功,然后进行读取数据,也是返回1,但是值是0,导致初始失败,请问一下这是什么情况?有没有操作成功?

 

 

...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010750922 05-21 14:43
  • 打赏
  • 举报
回复

问题解决了,HAL库接口会在最后发stop,只能自己排列组合一下,比如
LL_I2C_PutCmdData(i2cReg, data, I2C_CMD_WRITE);
LL_I2C_PutCmdData(i2cReg, 0, I2C_CMD_READ_STOP);
解决了问题,能有数据了

RuifDu 05-20 19:38
  • 打赏
  • 举报
回复

你好:
最好用逻辑分析仪看下 pin上的信号。接受失败有可能从机没准备好,主机的read在address阶段NAK失败导致返回值为0。

u010750922 05-21 10:18
  • 举报
回复
@RuifDu 看了逻辑分析的波形,从机有ACK信号没问题,主要是主机写了寄存器地址后又发了一个stop信号,从机是需要restart信号才能返回数据,请问一下怎么去除掉这个Stop信号

186

社区成员

发帖
与我相关
我的任务
社区描述
欢迎来到正和微芯官方社区,这里是毫米波雷达技术爱好者、开发者、技术专家以及行业领袖的聚集地。我们致力于提供一个开放、合作、创新的交流平台,让每一位成员都能在这里找到价值、获得启发、实现成长。
硬件架构射频工程物联网 企业社区 广东省·珠海市
社区管理员
  • Possumic正和微芯官方
  • sblxk008
  • 波谱Sense
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧