前言
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.异步传输
在同步那边,我们调用了同步传输的函数,这里我们调用异步传输的函数。
以上就配置完成了,也就能正常收发数据了。