RA-08 I2C通信接口ACK响应问题

[复制链接]
查看894 | 回复13 | 2024-3-7 18:50:21 | 显示全部楼层 |阅读模式
求教:
项目需求:使用RA-08模块作为I2C主站,读取传感器数据,传感器数据接口IIC接口,之前应用于STM32主板,在STM32应用时使用硬件I2C接口,应用正常。
     目前使用RA-08模块的IIC接口,从RA-08参考手册中获得信息:15.3 数据传输顺序
I2C 以 1 字节递增的方式传输数据,遵循以下顺序:
1. Start
2. 7 位从机地址
3. R/nW 位
4. ACK
5. 8 位数据
6. Acknowlegement
7. 重复步骤 5 和步骤 6
8. Repeat Start(重复步骤 1)或 Stop
  参考手册:P144页描述:  RA-08从机寻址:
作为主机设备,I2C 必须要构建和发送一次事务的第一个字节。这个字节由 7 位的从机地址和 1 位的 R/nW 组成。第一个字节的发送必须要得到从设备的 ACK 响应。如果是写事
务,I2C 保持在主机发送模式,同时从机保持在接收模式。如果是读事务,I2C 在收到ACK 后马上切换到主机接收模式,同时从机切换到发送模式。如果收到 NAKI2C 自动发
Stop 条件并且把 I2Cx_SR{BED}1 来中止当前事务。


    目前在测试疑问在于:RA-08作为主站发送7bit从机地址和R/W位后,需要等待从机的ACK信号,目前从tremo_i2c.c底层驱动库以及参考手册中没有找到明细的配置RA-08在发送从机地址后如何接收或者判断从机ACK响应的代码和信息。而代码例程库中均为较为简单的函数操作。
    目前主要的函数应用涉及到以下:
【1】i2c_master_send_start(I2C1, YL_SLAVE_ADDR, I2C_WRITE);  
i2c_clear_flag_status(I2C1, I2C_FLAG_TRANS_EMPTY);

i2c_get_flag_status(I2C1, I2C_FLAG_TRANS_EMPTY);

    发送7bit从机地址+1为读写,共计8位。并等待这8位数据发送完毕。之后按照流程应该要接收来自从机的ACK响应


【2】    // read data
    i2c_set_receive_mode(I2C0, I2C_NAK);
2 ACKNAK主机接收模式 ACK/NAK 控制位。
1:接收完成一个字节后发送 NAK
0:接收完成一个字节后发送 ACK
从机模式,从地址匹配或者接收完成时,I2C 单元自动发送一个 ACK,不论 ACKNAK 是否置 1



    while (i2c_get_flag_status(I2C0, I2C_FLAG_RECV_FULL) != SET)
        ;
    i2c_clear_flag_status(I2C0, I2C_FLAG_RECV_FULL);
    data = i2c_receive_data(I2C0);
    这个则是主机切换到接收模式,接收来自从机的数据之后主动发送ACK/NAK的配置操作。


同比以上则疑问点在于:RA-08处于主机模式时,发送数据之后没有找到如何配置判断从机响应ACK的操作,但是RA-08处于从机模式接收来自从机数据的时候则有配置RA-08模块发送ACK/NAK的操作。
     以上代码实际测试时发现:读不到从机数据,且程序类似死机,卡死在    while (i2c_get_flag_status(I2C0, I2C_FLAG_RECV_FULL) != SET)。



回复

使用道具 举报

1084504793 | 2024-3-8 08:18:57 | 显示全部楼层
回复

使用道具 举报

爱笑 | 2024-3-8 08:47:34 | 显示全部楼层
我集中给技术一下吧~
用心做好保姆工作
回复 支持 反对

使用道具 举报

noonezero | 2024-3-8 08:56:07 | 显示全部楼层
回复

使用道具 举报

WT_0213 | 2024-3-8 09:03:54 | 显示全部楼层
学习中也搞不清楚
回复 支持 反对

使用道具 举报

1055173307 | 2024-3-8 09:24:38 | 显示全部楼层
回复

使用道具 举报

wukong50 | 2024-3-8 11:13:22 | 显示全部楼层
回复

使用道具 举报

sansui | 2024-3-8 14:06:03 | 显示全部楼层
回复

使用道具 举报

知行合一 | 2024-3-8 15:07:51 | 显示全部楼层
赞一下
回复

使用道具 举报

7788 | 2024-3-8 19:03:16 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则