接上一篇Pwm配置,今天分享Spi的配置~
在配置Spi之前需要先了解一下Spi的通讯协议,具体的可以看看其他博主分享的文章,搞清楚原理之后再进行配置,会顺利一些。
具体的配置如下:
1.Spi General配置
Spi模块通用配置,各参数的详细含义可参考Properties窗口下的描述内容。
SPI和DMA联合使用时,则需要在进行Spi配置时勾选 SpiPhyUnitDmaPatch这一选项
配置项中
SpiChannel、SpiExternalDevice、SpiJob、SpiSequence、SpiPhyUnit 之间的联系如下图:
2.SpiPhyUnit配置
图中的时钟要在MCU的时钟配置项中提前配置好,一般的模块都要配置参考时钟,所以配置这些模块之前先配置好MCU,具体的配置请查看
3.SpiExternalDevice配置
4.SpiChannel配置
5.SpiJob配置
6.SpiSequence配置
SpiSequence的SPiJobAssignment配置
•
一个Sequence中引用多个Job,这些Job在通信Sequence期间执行。
7.Spi中断配置
如果想使用Spi模块的中断,不仅需要在Spi的配置中使能通道中断以及设置相应的中断回调函数名,还需要在MCAL的Platform模块中开启相应的中断IRQ。
8.Spi引脚配置
Spi的引脚需要在Port中配置
(1)在Port模块的PortContainer下的General选项卡中填写当前MCAL工程中使用到的引脚数量,在PortPin选项卡中添加具体引脚,如对于SPI0来说,添加了SPI0的SCK、SIN、SOUT以及PCS0引脚,详细配置选项可 参考Port模块的配置说明
(2)如果有引脚使用的是GPIO功能,还需要在Dio模块添加相应的引脚配置,在DioPort下添加配置,随后在
General选项卡下配置PORT的索引值,在DioChannel选项卡下配置具体的IO索引值,详细配置选项可参 考Dio模块的配置说明