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

【经验分享】STM32F7学习笔记(六)-PWM

[复制链接]
STMCU小助手 发布时间:2021-12-10 11:03
一、打开cubemx
4 b9 f' b3 A) l6 C9 m+ f8 lLED0和LED1连接在PB0和PB1上,刚好是TIM3的PWM通道3和通道44 w: x1 k3 N0 T) t

$ g. B* O8 f' K0 U% C6 d二、配置PWM参数$ B7 p* f- Z9 Z/ h
开启TIM3的通道3和通道4
; E( }) g8 F* ?* f
- I3 x  l. P' R$ Z8 y
20190411191426790.png

1 k# Q: N# O" I( B4 _8 q
$ e  e7 @: R! @5 E4 `配置PWM的频率为108000000/(108*500)=20kHZ+ Q% {2 s4 Y' y8 B1 I* j, V6 U

4 ]  K) W  }7 D  `) \; _% C
2019041119164611.png
" N$ o# s7 H7 N; j5 r
1 W; H3 K8 R; [' p0 i" ]0 A
配置PWM通道3和通道4
: \4 l4 Y6 i+ T: l% B/ P% z: _* \: V$ r+ Z5 i( u
20190411191722584.png

2 J* |" P3 |6 \  m
8 Z6 a  `7 B0 u4 X: @8 d在程序中改变pulse的值,即可改变占空比pulse的取值范围在0-count period之间0 V. `% _( ?2 @: H2 `$ k+ l

# e' D* h& F6 I' t! f2 B! E  H1 v三、生成代码
1 n# r, x" V: p) v0 f在main函数中增加代码,开启PWM输出- i0 M" v( ^: q
1 A- u- G3 E4 h
20190411192042209.png

- }) o- i" Y3 D. \: v2 Q  Q& ~5 W/ h( T5 g
在tim.c中增加pwm控制函数
, W: P" U" D- I( q" q- H" E' J( ^# d& ~5 h3 }
  1. void SetPwm(uint16_t pwm1,uint16_t pwm2)3 _( M; |- F! B7 R
  2. {
    * s0 T6 V& G% d5 @
  3.     TIM3->CCR3=pwm1;
    3 X) `( t5 R2 z/ s5 a' W. E" w' C4 c
  4.     TIM3->CCR4=pwm2;
    # E: }- X" m$ u) a/ }1 ]
  5. }
复制代码

$ K9 X% h* n" E- ]; u3 c也可以使用hal库进行修改,但这样比较复杂2 a7 J7 d5 }) F" l6 j

  i2 \* {  ]$ U; G# _) x
  1. void SetPwm(uint16_t pwm1,uint16_t pwm2)8 S. D1 N; d+ c5 g
  2. {
    , x" t! i& k2 Q2 F
  3.                 TIM_OC_InitTypeDef sConfigOC;% T) Z4 {5 J8 a' d: p
  4.             sConfigOC.Pulse = pwm1;! D- a5 u1 y8 a! Z. H+ ^
  5.             HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_3);
    / A; w2 d& V8 y6 a* N3 L
  6.             HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_3);  " w" [( O5 M& o5 `$ D
  7.                  sConfigOC.Pulse = pwm2;: C$ C/ c& `0 S/ I& w1 Q& c
  8.             HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_4);  A) J  [" l% u; A
  9.             HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4);  : p$ @: Z- X7 Y. _
  10. }
复制代码

3 b$ `; e2 C' z) N4 n7 E3 E在主函数添加呼吸灯代码,添加完成如下- }/ p8 g! y) t, ~

$ }$ [5 B" N2 l( G9 g5 ?" ]
20190411192840194.png

/ Z# w8 A2 W  s7 R! A2 [" N; |- i$ G
" P( q0 |' M* T* N, ^四、下载代码观看现象
1 P0 j' U/ G; V4 z将代码下载到开发板中可以看到LED0和LED1呈现出呼吸灯的效果
; q' s3 y# e' y: A
+ Y. `7 Y7 o; j# i0 F4 ~" c6 m2 l: S
收藏 评论0 发布时间:2021-12-10 11:03

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版