wxdjs 发表于 2025-12-22 12:15:57

v6.96f 范例中AI8H系列I2c从机模式有错误

v6.96f 范例中AI8H系列I2c从机模式中start开始后收到设备地址后没有标记是设备地址,导致错误

    if (I2CSLST & 0x40)
    {
      I2CSLST &= ~0x40;                     //处理START事件
    }

isda没有置位


其他地方没有查看

kaily 发表于 2025-12-22 23:02:43

isda变量在范例中,是在程序初始化的地方设置的


wxdjs 发表于 2026-1-4 10:44:13

kaily 发表于 2025-12-22 23:02
isda变量在范例中,是在程序初始化的地方设置的
我看到了,以下情况你怎么处理?
在写指令时,没问题,没有重复start指令
但是当设备读取时,发送start,设备地址+写,存储地址后,这时需要重新start,然后设备地址+读,
如果不在收到start指令后置位isda,从机不认为是设备地址,那不就出错了?

zhp 发表于 2026-1-4 10:55:51

wxdjs 发表于 2026-1-4 10:44
我看到了,以下情况你怎么处理?
在写指令时,没问题,没有重复start指令
但是当设备读取时,发送start, ...
特殊的逻辑,软件进行灵活处理就可以了
范例程序只是给一个参考代码,不可能考虑各种应用场景
页: [1]
查看完整版本: v6.96f 范例中AI8H系列I2c从机模式有错误