码迷,mamicode.com
首页 > 其他好文 > 详细

HAL驱动库学习-SPI

时间:2015-11-09 22:39:22      阅读:485      评论:0      收藏:0      [点我收藏+]

标签:

如何使用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使用。




HAL驱动库学习-SPI

标签:

原文地址:http://www.cnblogs.com/cat-li/p/4951225.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!