HAL驱动库学习-SPI

如何使用SPI库
1 声明SPI hanlde, 例如: SPI_HandleTypeDef hspi
2 通过实现HAL_SPI_MspInit()函数初始化底层资源
以下两个必须进行初始化
a 使能spi时钟
b 配置spi pins
以下根据需要初始化
c NVIC 中断配置
d DMA配置
3 配置hspi,包括模式,datasize,baudrate,msb/lsb,crc等
4 调用HAL_SPI_Init()函数,初始化spi配置以及底层资源(通过调用HAL_SPI_MspInit())

初始化与配置函数

  1. HAL_SPI_Init()
  2. HAL_SPI_DeInit()
  3. HAL_SPI_MspInit()
  4. HAL_SPI_MspDeInit()
  5. HAL_SPI_InitExtended()

备注:
SPI中 datasize可以指定4-16bit数据,在SPI_DR寄存器中无论是字节还是字,数据总是右对齐,通讯时,只有数据字长范围内的位会随时钟输出
如下图,左侧只有0-->5位会输出,右侧只有0-->13位会输出

  1. 使用单线模式时,主机的MISO,从机的MOSI都可以作为普通IO使用。




posted @ 2015-11-09 21:33  好心情_梦想  阅读(5297)  评论(0编辑  收藏  举报