stm32 SPI

初步了解

i. spi理解:一种串行同步硬件通信协议    
ii. stm32 spi feature:速度、DMA、中断
iii. 如何使用?
	1) 配置为master模式:
		a) 配置clock baud:BR[2:0]
		b) 配置数据传输的方式:CPOL和CPHA
		c) 选择数据帧长度:8bit or 16bit:DFF
		d) 配置帧模式:LSBFIRST
		e) NSS(CS) pin模式配置:两种模式hardware和software
		f) 选择TI协议:FRF,SPI_CR2
		g) 设置MSTR和SPE位
		h) 配置MOSI引脚为数据输出,MISO引脚为数据输入
	2) 数据发送流程
	3) 数据接收流程
	4) 状态标志:
		a) TXE
		b) RXNE
		c) Busy flag
	5) 关闭spi(降功耗)
	6) SPI with DMA
	7) SPI中断:支持六种中断
	8) 支持CRC模块:了解一下什么时候计算crc?
		a) 通过CRCEN bit进行使能
		b) 当最后一个数据被写入SPI_DR时,需要CPU主动写CRCNEXT bit,此时crc模块会计算之前传输的所有数据的crc,然后通过spi发送
		c) 编程流程已经给出
		d) 清除CRC数据流程
iv. 通过上述信息对stm32的SPI整体流程有个比较清晰的了解
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32SPI外设是一种串行外设接口,用于在微控制器和外部设备之间进行通信。SPI外设可以配置为主机模式或从机模式。在主机模式下,STM32产生SCK信号,控制通信的时序;在从机模式下,STM32接收外部设备提供的SCK信号。\[3\] SPI外设的配置包括以下几个方面: 1. 单双向模式:设置SPI的数据传输方向,可以是单向或双向。 2. 主/从机模式:设置SPI的工作模式,可以是主机模式或从机模式。 3. 数据帧长度:设置SPI的数据帧长度,可以是8位或16位。 4. 时钟极性和相位:设置SPI的时钟极性和相位,用于控制数据采样的时机。 5. NSS引脚控制:设置NSS引脚由硬件控制还是软件控制。 6. 时钟分频因子:设置SPI的时钟分频因子,用于控制通信速率。 7. MSB/LSB先行:设置数据传输的位序,是从高位到低位还是从低位到高位。 8. CRC校验表达式:设置CRC校验的表达式,用于数据完整性校验。\[1\] 在配置完成后,可以调用库函数SPI_Init将配置写入寄存器,并调用SPI_Cmd使能SPI外设。在数据传输过程中,可以通过检查寄存器位来了解发送或接收的状态,并根据需要进行处理。也可以使用DMA方式来收发数据。\[2\] 总结起来,STM32SPI外设可以通过配置来实现不同的工作模式和通信参数,以满足不同应用的需求。 #### 引用[.reference_title] - *1* *3* [STM32SPI详解](https://blog.csdn.net/wangjiaweiwei/article/details/125646382)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32SPI详细解析](https://blog.csdn.net/qq_43940175/article/details/123460281)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值