你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 定时器触发 SPI 逐字收发之应用示例

[复制链接]
STMCU小助手 发布时间:2022-8-2 17:53
一、STM32 定时器触发 SPI 逐字收发之应用示例
我们在做 SPI 应用时,有时希望通过定时器来定时地触发 SPI 的收发,并利用 DMA 完成数据的传输。这里,我基于 STM32L476 芯片来做个演示,以供参考【为什么选用32L476,其实没啥特别原因,只是顺便找了块 Nucleo 板】。
本示例的大致过程是这样的:
片内 SPI1 做 Master,SPI2 做 Slave,均工作在全双工模式。

TOTEL~_~OUA%@Y[N{E1VJTK.png

这里使用片内定时器 TIM3,通过它的更新事件触发 DMA 请求,通过 DMA 将数据给到SPI1 的数据寄存器并发送出去,同时也开启 SPI1 接收事件的 DMA 传输。总之,SPI2的收、发事件都启用 DMA 完成。
TIM3 的更新事件周期控制两个 SPI 的收发节奏,即定时器每产生一次更新事件,SPI1/SPI2 这两个主从通信模块就进行一个数据的收发。我们可以通过调整定时器的计时周期来调整数据收发的快慢。
好,先基于 STM32CubeMx 进行初始化配置。
1、对 TIM3 做基本配置。选择时钟源,先大致估算个定时器计时周期,调试时我们可以自行灵活调整。


ST0{]~E5[_D`K)V~KTAKCK3.png

开启基于 TIM3 更新事件的 DMA 配置。传输方向是从 Memory 到 外设 SPI1,即将内存数据传输到 SPI1 的数据寄存器进行数据发送,这里选用循环模式,以便测试。2、对 SPI1/SPI2 进行基本配置。细节请参看下面三幅截图。


~3KR~AAN7I6K3B3}LP6FF5J.png

2、对 SPI1/SPI2 进行基本配置。细节请参看下面三幅截图。



ZX7RJZD`[$AY05SCAB7E7V6.png

63QQU[VPC`MF1J]F2PNHK8R.png



完整版请查看:附件



Application example of STM32 timer triggering SPI word by word.pdf

下载

597.81 KB, 下载次数: 10

收藏 评论0 发布时间:2022-8-2 17:53

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版