SPIM包括非阻塞(non-blocking)和阻塞(blocking)模式。
非阻塞模式下,SPIM操作允许CPU启动一个传输后继续执行其他任务,而不必等待传输完成。这是通过使用DMA(Direct Memory Access)实现的。提高程序的效率,适用大量数据或多任务。
阻塞模式下,CPU在SPI数据传输过程中会停止执行后继的代码,直到数据传输完毕。编程简单。
定义和配置 SPIM:
SPIM_INST_IDX: 这个宏定义了使用的 SPIM 实例的索引。
#define SPIM_INST_IDX 1//SPIM 实例索引被设置为 1,表示要使用第二个 SPIM 实例。
MOSI_PIN:MOSI(Master Out Slave In,主输出从输入)主设备向从设备发送数据。
MISO_PIN:MISO(Master In Slave Out,主输入从输出)从从设备向主设备发送数据。
SCK_PIN:SCK(Serial Clock,串行时钟)用于时钟同步。
CS1_PIN、CS2_PIN、CS3_PIN、CS4_PIN: 用于片选(Chip Select)的引脚号。片选信号用于选择特定的从设备进行通信。在一些 SPI 设备中,可以有多个从设备,每个从设备都有自己的片选信号。此处定义了四个不同的片选引脚 CS1、CS2、CS3 和 CS4,意味着可能要与四个不同的从设备进行通信。