标签:
如何使用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())
初始化与配置函数
? HAL_SPI_Init()
? HAL_SPI_DeInit()
? HAL_SPI_MspInit()
? HAL_SPI_MspDeInit()
? HAL_SPI_InitExtended()
备注:
      SPI中 datasize可以指定4-16bit数据,在SPI_DR寄存器中无论是字节还是字,数据总是右对齐,通讯时,只有数据字长范围内的位会随时钟输出
如下图,左侧只有0-->5位会输出,右侧只有0-->13位会输出
使用单线模式时,主机的MISO,从机的MOSI都可以作为普通IO使用。
标签:
原文地址:http://www.cnblogs.com/cat-li/p/4951225.html