SPI原理
两种格式 Motorola 和ti
miso和mosi是一个循环链,这边进那边出
四种模式影响时钟空闲电平以及移位锁存,主要看从设备要求
经验总结
这里只讨论STM32的SPI。
示例硬件:
STM32F427
ADS1299
使用STM32CubeMX生成基础工程。
首先需要知道从设备的极性相位(CPOL && CPHA),从而确定主机的极性相位,本例中主机位(CPOLLOW,CPHAHIGH),从机与主机极性相反。
从机对SCK速率的需求,这里分频后位2.25M。
通信操作函数位 [HAL_SPI_TransmitReceive].
假使硬件没有问题的话,就可以进行通讯了。
关于DMA
在这套硬件环境下,要同时开启TX&&RX的DMA,只能使用[HAL_SPI_TransmitReceive_DMA]这个函数,[HAL_SPI_Receive_DMA]在接受三次之后就会出现错误