S32K3系列—基于Mcal的SPI配置之异步中断模式

前言

S32K3系列---基于Mcal的SPI配置之同步模式上一篇文章S32K3系列---基于Mcal的SPI配置之同步模式 中,讲解了SPI同步模式怎么配置,这篇我们讲解下SPI的异步中断模式的相关配置

SPI异步配置

相同部分的配置请参照同步的,这里就讲解一下不同的配置。

1.SpiDriver

新增一个中断回调函数,可以在这个函数里面去获取读到的SPI值

2.SpiGeneral

3.Platform

将中断函数注册到中断向量表里。使用了哪个SPI,就注册对应的SPI中断

以上基本的配置就完成了。

CODE讲解

1.中断函数

在上面的中断函数Lpspi_Ip_LPSPI_1_IRQHandler()里面,会自动的去调用我们的中断回调函数,就是我们上面写的spi_inter_test()。但是这个函数生成代码里面,并没有将他实体化,所以我们还需要做一件事,实体化这个函数,如下图。函数里面可以做你自己想做的事。

2.异步中断模式设置

在SPI初始化之后,我们调用Spi_SetAsyncMode()函数,参数为SPI_INTERRUPT_MODE,将SPI设置为中断模式, 当然这个参数还可以设置为轮询模式。

3.IB/EB使用

如果使用了EB的话,还需要调用函数Spi_SetupEB, 这个在同步那边也讲过。

4.异步传输

在同步那边,我们调用了同步传输的函数,这里我们调用异步传输的函数。

以上就配置完成了,也就能正常收发数据了。