前言
硬件SPI:通过硬件电路实现,所以硬件SPI速度更快,有专门的寄存器和 库函数 ,使用起来更方便。
软件SPI:也称模拟SPI,通过程序控制IO口电平模拟SPI时序实现,需要程序不断控制IO电平翻转,所以速度会比较慢,受单片机主频和单片机IO 电平最快翻转 速率影响,需要自己写底层逻辑,比较麻烦。 硬件SPI用的比较多。
软件模拟较多的通讯是IIC和CAN,IIC是因为本身硬件IIC的速率不高,加上之前的STM芯片硬件IIC有点问题,导致很多人都自己手搓 底层通讯 ,尽管现在STM已经解决了这个问题,但是现在使用软件IIC还是非常常见。
一、SPI外设简介
16位数据帧:最长见的是8位数据帧,也就是一次发送8个字节,而16位数据帧就是一次发送16个字节;
时钟频率:外设时钟(APB2的PCLK是72MHz,APB1的PCLK是36MHz)/ 分频系数;
SPI1挂载在APB2上,其他挂载在APB1上;
iis:一种数字音频传输的协议(小容量与中容量产品上不支持iis协议);