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

基于STM32C031定时器PWM呼吸灯经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-3 18:10
STM32C0的PWM资源

3e9db29a32a5410c8493f58b028d2f87.png

高级控制计时器(TIM1)
高级控制计时器可以看作是一个三相PWM单元,多路复用在6个通道上。它具有可编程插入死区时间的互补PWM输出。它也可以看作是一个完整的通用计时器。
四个独立通道可用于:
•输入捕获
•输出比较
•PWM输出(边缘或中心对齐模式),具有完全调制能力(0-100%)
•单脉冲模式输出在调试模式下,高级控制定时器计数器可以被冻结,PWM输出被禁用,从而关闭由这些输出驱动的任何电源开关。
许多功能与使用相同架构的通用TIMx定时器(如第3.15.2节所述)共享,因此高级控制定时器可以通过定时器链接功能与TIMx定时器一起工作,以实现同步或事件链接.

cubemx配置

0b834bffa183427fa2a25911e6b31a68.png

pwm频率=48M / ((ARR+1)*(PSC+1))

d098febc2931490d953f80ac93691af6.png

cafde06a62c1403fb9accdbac300913c.png

72db11ba11d34c96b06ad8335fa600da.png

使能tim3 pwm相关函数
  1.     /* USER CODE BEGIN 2 */
  2.     LL_TIM_CC_EnableChannel(TIM3, LL_TIM_CHANNEL_CH1);
  3.     LL_TIM_EnableCounter(TIM3);
  4.     LL_TIM_EnableAllOutputs(TIM3);
  5.     /* USER CODE END 2 */
复制代码

while 呼吸灯代码
  1. while (1)
  2.     {
  3.         /* USER CODE END WHILE */

  4.         /* USER CODE BEGIN 3 */
  5.         for(i = 0; i < 59; i++)
  6.         {

  7.             LL_TIM_OC_SetCompareCH1(TIM3, i);//配置占空比
  8.                         HAL_Delay(80);
  9.         }
  10.                 for(i = 59; i > 0; i--)
  11.         {

  12.             LL_TIM_OC_SetCompareCH1(TIM3, i);//配置占空比
  13.                         HAL_Delay(80);
  14.         }

  15.     }
复制代码


实验现象

db9ccd66068e4a428b148fb07daefbf2.gif

69aff94480df478c84a0ccdc43ce3a63.gif

————————————————
版权声明:xiaoqi976633690
如有侵权请联系删除

收藏 评论0 发布时间:2023-4-3 18:10

举报

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