我正在使用 Atmel SAM3S MCU,他们的 ASF 产品可以进行 I2C(他们称之为 TWI)通信。没关系,只是它从我的主循环中花费了太多时间。
因此,我希望能够启动 DMA 传输以从 I2C 设备读取数据。但是,所有文档都说您不能在像 TWI 这样的半双工设备上同时打开 TX 和 RX。文档确实显示它在 TWI 寄存器中有一个外设 DMA 控制器 (PDC) 寄存器部分,但我找不到任何 PDC 示例,除了全双工的 USART。
我唯一能想到的尝试是设置TX部分,和next-RX部分,并希望它在TX完成后自动启用RX。
有没有人在 SAM3S 上使用 DMA 进行 I2C 读取?如果是这样,您能否指出一些文档或示例?