需求:本次模块通信协议是spi,MCU是主机,RFID做从机,为了通信速率,改掉以前通用GPIO模拟实现SPI协议,使用HC32L176自带的硬件SPI外设。
外设:SPI0, PA4-->CS;PA5-->SCK;PA6-->MISO;PA7-->MOSI
注意:华大mcu的IO配置还是有自己的思想的,这个与stm32有点出入,遇到不懂的地方查看官方提供的例子(还是ddl中的example例程的中spi)
1、初始化IO
2、封装一个SPI0时钟分频函数,找到芯片用户手册系统时钟树和对应寄存器即可,时钟树如下图所示,本质就是对PCLK进行分频。
分装了SPI时钟分频函数,方便我们开发时可以任意改变通信速率,封装函数如下
3、接着就是读写一字节,连续多写多字节,这个逻辑我就不贴出来了,跟stm32逻辑一致,可参考官方例子DDL-->example-->spi0