奏奏奏 发表于 2020-4-11 10:37:27

I2C双地址设置后副地址匹配回调在哪?

I2C配置中可以设置双地址
一个主地址(例如地址是4)
一个副地址(例如地址是0)
我需要主地址作为I2C从机地址,副地址作为I2C从机的广播地址(广播地址默认都是0)
原先只有一个从机地址的时候,设置好地址后,打开监听模式,在 地址回调 函数中就可以处理了
现在根据需求,I2C主机需要做广播,I2C从机设置了副地址后,想知道 匹配这个副地址的回调函数是哪一个?
情况说明:用的是F1的HAL库版本是 1.18.0

奏奏奏 发表于 2020-4-11 10:53:07

我发现配置中打开“General Call Address detection”(广播地址检测) 好像更符合 广播发送数据的需求,
问题可以更新为:广播地址检测 回调函数 是 哪一个?
同时我还是对双地址功能有兴趣需要知道答案,希望论坛里用过的大佬帮忙看看

butterflyspring 发表于 2020-4-30 11:23:28

刚刚看了一下,可以试试在 HAL_I2C_AddrCallback 判断并记录当前在响应哪个地址。HAL_I2C_SlaveRxCpltCallback接收的数据就知道是哪里来的

奏奏奏 发表于 2020-4-30 20:54:52

butterflyspring 发表于 2020-4-30 11:23
刚刚看了一下,可以试试在 HAL_I2C_AddrCallback 判断并记录当前在响应哪个地址。HAL_I2C_SlaveRxCpltCallb ...

感谢大佬的指点:handshake,最近确实因为项目用到I2C总线上多个对象频繁切换主机从机身份通讯搞得头大
页: [1]
查看完整版本: I2C双地址设置后副地址匹配回调在哪?