SX1276的通讯接口是SPI接口,所有的SX1276的驱动函数都是通过SPI接口实现的。这个随笔针对spi_board.c源码文件
在spi.h文件中,定义了如下spi_t类:
Spi_t 类中有5个变量:
1. SpiId_t 枚举类型的 SpiId
如上图所示,SpiId_t是预先定义好的枚举类型,用于选择 Spi1 或 Spi2 ,并配置 Spi 协议的参数
2. Gpio_t 类型的 Mosi ,Miso , Sclk , Nss
定义了4个对象,用于确定初始化 SPI 4个通讯引脚
针对SPI类的初始化如下:
使用这个初始化函数前,需要传递预先定义好 Spi_t 对象,SpiId号 ,4个 PinNames 类型的引脚号。
值得注意的是:在源码中,官方定义了进入临界段和退出临界段函数
在配置SPI的时候关闭中断,配置结束后再开启。
初始化完成之后,可以进行读写,读写函数为 uint16_t SpiInOut( Spi_t *obj, uint16_t outData ) 同样也是针对Spi_t 类型对象