MSP432 Team,
客户需要使用 eUSCI在SPI模式下执行16位,24位和32位字传输。 即,他们需要UCxSTE在两个字传输之间处于非活动状态。 但是,eUSCI只允许7或8位的数据宽度。 我已使用EVM确认,如果您在TX移位寄存器为空的情况下保持UCxTXBUF已填充,UCxSTE位将在两次传输之间保持活动状态(这需要记录)。 因此,CPU可用于使用来自eUSCI的中断执行多字节传输。 如果使用CPU,另一种方法是使用GPIO代替UCxSTE信号。 然后CPU可以完全手动控制STE信号。
但是,我认为DMA在这里不能有效地使用。 我想您只能设置DMA以传输单个字(例如,16,24或32位字)所需的字节数。 之后,您需要暂停,以便eUSCI停止传输,而UCxSTE信号变为非活动状态。 CPU随后可以重新启动DMA以显示下一个单词。
我在这里错过了诀窍吗? 是否有任何方法可以让DMA处理 多个16,24或32位字的缓冲区 到eUSCI,而无需CPU干预? 具体来说,UCxSTE信号在字之间必须处于非活动状态。
谢谢!
David