i. spi理解:一种串行同步硬件通信协议
ii. stm32 spi feature:速度、DMA、中断
iii. 如何使用?
1) 配置为master模式:
a) 配置clock baud:BR[2:0]
b) 配置数据传输的方式:CPOL和CPHA
c) 选择数据帧长度:8bit or 16bit:DFF
d) 配置帧模式:LSBFIRST
e) NSS(CS) pin模式配置:两种模式hardware和software
f) 选择TI协议:FRF,SPI_CR2
g) 设置MSTR和SPE位
h) 配置MOSI引脚为数据输出,MISO引脚为数据输入
2) 数据发送流程
3) 数据接收流程
4) 状态标志:
a) TXE
b) RXNE
c) Busy flag
5) 关闭spi(降功耗)
6) SPI with DMA
7) SPI中断:支持六种中断
8) 支持CRC模块:了解一下什么时候计算crc?
a) 通过CRCEN bit进行使能
b) 当最后一个数据被写入SPI_DR时,需要CPU主动写CRCNEXT bit,此时crc模块会计算之前传输的所有数据的crc,然后通过spi发送
c) 编程流程已经给出
d) 清除CRC数据流程
iv. 通过上述信息对stm32的SPI整体流程有个比较清晰的了解