位模式传输
SPI 位模式传输是以位为单位进行数据传输,用于对 SPI 接口的非 Flash 类型的外设进行访问,兼容更多的 SPI 的设备。
位模式分为标准模式和三线模式。
- 通过配置0x040 SPI_BMTC 寄存器的 BMOD_SEL位域,选择两种不同的工作模式。
- 通过配置 0x040 SPI_BMTC 寄存器选择位模式下的工作时钟。
位模式一次最大传输的位数为32bit,对于写操作,将待发送数据写入到 0x048 SPI_BMTXD 寄存器,并通过 0x040 SPI_BMTC.BM_TXCNT 配置写有效数据的长度;对于读操作,通过 0x040 SPI_BMTC.BM_RXCNT 配置读有效数据的长度, 读到的数据会自动存入 0x048 SPI_BMTXD寄存器。 使能 BM_START
寄存器启动数据传输,传输完成后 BM_TD 寄存器会置1,也可以使能 BM_TD_INTE 完成中断, 在中断服务程序中检查数据传输完成标志。
注: 位模式连续传输时,每笔传输结束后需要硬件复位一次,或者至少等待一个时钟周期,再传输下一笔数据。