S32K148-SPI驱动
hello,大家好,这次分享基于S32K148-SDK的SPI的驱动配置方法,最近一段时间开发BMS的单体电压温度采集,用到SPI,所以我就顺便把SPI驱动方法记录下来
SPI配置部分重要部分:
1)时钟分频(与传输波特率有关);
2)SPI工作模式,一共有四种方式,具体看项目要求进行配置。
3)片选信号CS,S32K148具有内部硬件片选,但是一般我不用。S32K148每次发送完之后,片选信号自动拉低,针对连续发送问题有点麻烦。所以一般我片选信号CS会找一个GPIO口做软件控制就行。

专家系统生成代码之后(包括引脚复用部分),SPI初始化非常简单
void SPI0_Masterinit(void) { LPSPI_DRV_MasterInit(LPSPICOM1,&lpspiCom1State,&lpspiCom1_MasterConfig0); }
SPI原理最基础部分,它属于移位寄存器,TX每发送一个字节,RX同步接收一个字节,
SPI发送函数
void SPIO_MasterSendData(uint8_t *SendData, uint8_t ByteLength) { uint8_t RecBuffer[ByteLength]; for(uint8_t i=0;i<ByteLength;i++) { LPSPI_DRV_MasterTransferBlocking(LPSPICOM1, &SendData[i], &RecBuffer[i], 1, TIMEOUT); SPI0_RecBuffer[i] = RecBuffer[i]; } }

浙公网安备 33010602011771号