你好,
项目使用TMS570LS3137 MCU与协处理器间通信,一次通信数据约几十字节。想避免数据的组包和拆包,所以希望一次SPI传输就搞定一次通信数据。
发现MibSPI1,3,5的通用SPI模式一次传输只能2个字节(16位),考虑MibSPI模式。
看完技术手册上MibSPI模式的描述后,工作过程不清晰:
我简单理解,MibSPI模式是将发送和接收缓存器容量扩大了,允许一次多字节传输。
比如发送/接收40个字节数据,中断发送,查询接收。使用TXRAM/RX RAM的buffer0~20。发送数据写入Multi-buffer RAM Transmit Data Register对应buffer0~20的的TXDATA位,就可以触发发送了?那么传输组(TG)是什么意思?TG和TXRAM buffer0~20如何对应呢?TG的触发源必须设置么?
中断发送:每次“TG完成”中断,向buffer0~20写入新的数据?
查询接收:查询“RXOVRN”标志,置1后从buffer0~20读出数据?
另,有无MibSPI的通信例程可以参考学习。(不使用DMA方式)
多谢!