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

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

[复制链接]
STMCU小助手 发布时间:2022-8-2 17:53
一、STM32 定时器触发 SPI 逐字收发之应用示例% q, U" Y% P* B) F; V9 P3 K+ _- m" T
我们在做 SPI 应用时,有时希望通过定时器来定时地触发 SPI 的收发,并利用 DMA 完成数据的传输。这里,我基于 STM32L476 芯片来做个演示,以供参考【为什么选用32L476,其实没啥特别原因,只是顺便找了块 Nucleo 板】。6 U3 h+ Y- a  k
本示例的大致过程是这样的:
0 P; x: |+ q. [5 X( t) F片内 SPI1 做 Master,SPI2 做 Slave,均工作在全双工模式。& f5 t. a% Y% R9 T, H
) o, L3 `* V. e2 N( k: W0 H
TOTEL~_~OUA%@Y[N{E1VJTK.png 9 W4 s) r4 l. g5 W
& m' Y: \$ t% t6 o9 A( k
这里使用片内定时器 TIM3,通过它的更新事件触发 DMA 请求,通过 DMA 将数据给到SPI1 的数据寄存器并发送出去,同时也开启 SPI1 接收事件的 DMA 传输。总之,SPI2的收、发事件都启用 DMA 完成。& H4 _7 ]0 i. }, i2 {
TIM3 的更新事件周期控制两个 SPI 的收发节奏,即定时器每产生一次更新事件,SPI1/SPI2 这两个主从通信模块就进行一个数据的收发。我们可以通过调整定时器的计时周期来调整数据收发的快慢。
- B5 j  \5 ]! ?3 o) B! s好,先基于 STM32CubeMx 进行初始化配置。
+ \# {4 |, M  A& n: \9 a1、对 TIM3 做基本配置。选择时钟源,先大致估算个定时器计时周期,调试时我们可以自行灵活调整。
: B8 w! ?/ i7 R2 p* r0 e- [2 ~
; ]6 y; f# b! ^9 _' L  D

2 M1 G9 V6 K4 @: k1 T& r ST0{]~E5[_D`K)V~KTAKCK3.png 6 I5 k: h8 l3 Q& J$ S1 F
/ }& o$ h4 y2 a2 g2 J1 C
开启基于 TIM3 更新事件的 DMA 配置。传输方向是从 Memory 到 外设 SPI1,即将内存数据传输到 SPI1 的数据寄存器进行数据发送,这里选用循环模式,以便测试。2、对 SPI1/SPI2 进行基本配置。细节请参看下面三幅截图。
  [( W% ?/ g) u1 R4 v/ }" \/ l& d: Y8 h7 n% i1 y% Y4 ]1 f# I# F

; q" }8 ?& `9 a( k; x) _- E' D ~3KR~AAN7I6K3B3}LP6FF5J.png - c' I$ z: v, S! C
  D) f* D9 x! I  b6 _
2、对 SPI1/SPI2 进行基本配置。细节请参看下面三幅截图。
4 p* t! s9 r; b" d! Z2 v: J- W
% [0 i, ]+ s0 E9 ~6 Z6 u7 {
9 y1 s/ c& n, V; Y2 {2 |$ c1 ~1 W# C( m; S; i
ZX7RJZD`[$AY05SCAB7E7V6.png - a+ S7 ]9 K; @7 q4 s& p6 X

8 ?% g9 n- [' X) @ 63QQU[VPC`MF1J]F2PNHK8R.png 2 E( [$ \% f0 r8 Q; n% Z: Y

1 J" Q0 m7 c7 t5 j/ E' ^0 S  i; C, k  a2 Y  n- L' ^
4 l1 C) v2 T9 y0 t3 j
完整版请查看:附件2 R0 ]* ?8 m  H- s* [

( v! L7 z0 a% `8 T! x: `0 }/ g$ p: H( a& \' q. x1 ^6 V1 R
# E% a5 E7 X" V% M: ]- v9 z

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

下载

597.81 KB, 下载次数: 10

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

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版