S32K

Nxp在汽车领域,目前主流的单片机还是S32K这个系列,cortex M4的内核。

 

LPSPI

S32K的SPI 叫LPSPI,和其他单片机差不多,涉及到的寄存器还比较多。

S32K SPI调试

 

配置时钟

在使用LPSPI之前,必须要配置时钟。

PCC->PCCn[PCC_LPSPI0_INDEX] |= PCC_PCCn_PCS(1) | PCC_PCCn_CGC_MASK

PCC_PCCn_CGC_MASK不配置,直接操作SPI相关寄存器,程序直接跑飞,产生硬件保护中断。

PCC_PCCn_PCS(1)不配置,SPICLK没有输出,fifo里的数据发不出来。TCR也不能正常赋值。

 

S32K SPI调试

 

中断和DMA

LPSPI支持中断和DMA功能,也可以不用这两种功能,直接查询标志来实现SPI的收发。

 

SPI收发

为了避免冲突,在发送之前可以先检查TXBUF是否为空,

LPSPI0->FSR & LPSPI_FSR_TXCOUNT_MASK

数据发送,直接将数据给发送寄存器,

LPSPI0->TDR = Word;

等待数据接收,可以判定RXBUF非空,

LPSPI0->FSR & LPSPI_FSR_RXCOUNT_MASK

如果非空,就可以取出数据了,

Word = LPSPI0->RDR;

 

总结

S32K的LPSPI配置其他配置跟别的SPI就差不多了。

相关文章:

  • 2021-12-22
  • 2021-09-28
  • 2022-12-23
  • 2021-10-03
  • 2021-12-28
  • 2021-08-25
  • 2021-06-08
  • 2021-06-05
猜你喜欢
  • 2021-12-15
  • 2021-07-13
  • 2021-06-12
  • 2021-05-10
  • 2021-05-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案