王某人从0开始学习lorawan的笔记_2:最底层!SPI驱动层,Spi_t类与初始化

时间:2019-08-31
本文章向大家介绍王某人从0开始学习lorawan的笔记_2:最底层!SPI驱动层,Spi_t类与初始化,主要包括王某人从0开始学习lorawan的笔记_2:最底层!SPI驱动层,Spi_t类与初始化使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

  

  SX1276的通讯接口是SPI接口,所有的SX1276的驱动函数都是通过SPI接口实现的。

  在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 类型对象

  

原文地址:https://www.cnblogs.com/WeiSD/p/11439009.html