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