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

基于STM32F1 TIM1 输出PWM 时有时无的输出经验分享

[复制链接]
攻城狮Melo 发布时间:2023-5-15 21:01
最近有一个项目,需要使用到PWM输出电机速度,开发过程中遇到一个PWM输出时有时无的现象,明明已经配置TIM1输出PWM输出,单独测试也有PWM输出了,但项目大了之后,突然发现明明应该启动的电机不启动,莫名其妙的问题, 然后我查找代码,分析,逻辑上应该是没问题,使用仿真+示波器检测,发现本应该输出的,却没有输出PWM,仿真看寄存器值,确实已经赋值了.
" j5 F5 q/ s$ U; }; c$ m1 R+ m& t6 s2 k6 Z; x0 _0 B

3 D' w2 G" G6 Q/ G9 ~5 e1 b        搜索网上的经验,发现是我的初始化有问题,TIM1是高级定时器,功能多样,初始时没有正确初始,就会出现莫名其妙的问题) u4 w) J: y. C0 ?

$ F. o$ S' S2 |$ B7 T( C. S
4 l) s! ^& g3 T% \( z9 N: n
正确的PWM初始化有如下变量:
" ~2 y! R2 E: I0 E+ Z
  1.     TIM_OCInitTypeDef                 TIM_OCInitStruct;/ ^3 b4 O+ |' ^  U+ H; O% ~
  2.     TIM_OCInitStruct.TIM_OCMode       = TIM_OCMode_PWM2;           //脉冲宽度调制模式1
    4 i) \, N  ^1 g/ N# C" V3 e2 a
  3.     //输出极性
    1 H1 x4 E' e; {6 T* f% s& q) g
  4.     TIM_OCInitStruct.TIM_OCPolarity   = TIM_OCPolarity_High;       //输出极性
    $ l, R2 u+ j4 n7 I: m+ s0 y- z
  5.     TIM_OCInitStruct.TIM_OCIdleState  = TIM_OCIdleState_Set;       //在空闲时输出
    0 y( _" B4 M. a7 A/ F* z* C- `( C
  6.     TIM_OCInitStruct.TIM_OutputState  = TIM_OutputState_Enable;    //PWM输出使能(正向通道)
    ( N: `8 Y+ V# c
  7.     TIM_OCInitStruct.TIM_OutputNState = TIM_OutputNState_Disable;  //PWM输出失能(互补通道)
    / R$ E. T  p! q+ `
  8.     TIM_OCInitStruct.TIM_OCNPolarity  = TIM_OCNPolarity_High;   //必须3 j7 A- F7 h* ]0 x3 y: N
  9.     TIM_OCInitStruct.TIM_OCNIdleState = TIM_OCIdleState_Reset;  //必须
    2 h6 x2 a* Z+ K8 W
  10.     TIM_OCInitStruct.TIM_Pulse        = 0;                         //捕获比较的脉冲值0 n! t; g, n- b' r. Z
  11.     TIM_OC1Init(TIM1,&TIM_OCInitStruct);
复制代码
4 H2 ~3 ?& Q4 i# Q4 k) o* S% P8 G

8 n" i  h" l8 L4 t) r9 i————————————————0 [) R4 X3 P) O5 ?% d' ~
版权声明:wenkic 小琪
* G  b4 c5 c4 ^) ^8 }/ D- y" A$ [2 e如有侵权请联系删除* f6 Y1 V* Q7 }7 f9 Q# s
- G7 e1 C2 k* o  p1 ~3 v/ P9 t

3 |3 z4 k0 h0 ^8 u1 b( @& [
赞 收藏 评论0 发布时间:2023-5-15 21:01

举报

0个回答

所属标签

相似技术帖

官网相关资源

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