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

在HAL库基于STM32的PWM输出

[复制链接]
攻城狮Melo 发布时间:2023-3-21 22:26
(一)CubeMX设置:
1. 晶振配置(72M)


69860b85cd494c36ad2bbb65191c0d33.png

2. 引脚配置

ddf20ae614da4a3eb07e26f4a6aba7b1.png

3. 配置及实现方式

(1)呼吸灯逐渐点亮控制

0984fa1aa38849c39e712363678eb452.png

由上推出公式:
  1. 机器周期: (72MHz / 36) = 2MHz = 0.5us

  2.         PWM周期: 0.5 * 100 = 50us = 20kHz
复制代码

呼吸灯逐渐点亮代码实现:
  1. //开启PWM输出
  2. HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
  3. //设置默认的占空比值
  4. __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, 50-1);

  5. while(1) {

  6.         HAL_Delay(30);//延时30ms

  7.         //变量修改
  8.         if(i > 100)  i = 0;

  9.         //设置占空比值
  10.         __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,  i++);
  11. }
复制代码

(2)LED灯1秒亮灭控制

e6059961265646a18f161dad86581bd1.png

由上推出公式:
  1. 机器周期: (72MHz / 7200) = 10kHz = 100us

  2.         PWM周期: 100 * 10000 = 1s = 1Hz
复制代码

LED灯1秒亮灭控制代码实现:
  1. //开启PWM输出
  2. HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
  3. //设置默认的占空比值
  4. __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, 5000-1);

  5. while(1) {

  6.         HAL_Delay(30);//延时30ms

  7.         //变量修改
  8.         if(i > 10000)  i = 0;

  9.         //设置占空比值
  10.         __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1,  i++);
  11. }
复制代码

————————————————
版权声明:qq_755682240

如有侵权请联系删除


收藏 评论0 发布时间:2023-3-21 22:26

举报

0个回答

所属标签

相似分享

官网相关资源

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