ST意法半导体
直播中

kmno4

12年用户 944经验值
私信 关注
[问答]

请问如何实现一个I2C从设备看起来像一个内存?

这是我要实现的。使 I2C 从站看起来像主站的内存。
语法是两种情况之一。
对于写:
...<停止>
阅读:
...
我在第一步。我想使用 DMA,因为我不想在每个字节上都触发中断。我的处理器必须做其他事情,比如数据收集,而不仅仅是介意 I2C。
我想我必须使用 HAL_I2C_Slave_Seq_Receive_DMA() 和 HAL_I2C_Slave_Seq_Transmit_DMA() 例程。
有一个 XferOptions 参数,我无法弄清楚用于初始读取的内容(从奴隶的角度来看)。
不管我使用哪一个,我都会收到错误消息。
我正在寻找一个以停止或重新启动优雅结束的程序。因为在写的情况下,他们可以在该地址写入 2 个字节,或者可以在下一个地址再写入 2 个字节。我将它们限制为总共 8 个字或 16 个字节。
在读取的情况下,他们只写入 2 个地址字节,然后重新启动。
是忽略错误并继续的答案吗?我真的不喜欢具有抛出错误中断功能的产品。







更多回帖

发帖
×
20
完善资料,
赚取积分