[STM32F1] 单片机呼吸灯代码

[复制链接]
698|11
 楼主| linfelix 发表于 2024-11-22 14:03 | 显示全部楼层 |阅读模式



根据对应图我们可知预分频系数为999,重装载值为2000,因为设置内部时钟晶振频率为100MHZ
,1s跳 100 000000次 ,跳一次需要1/100 000000s 20ms=0.02s 对应跳的次数为

我们使用通用定时器最大计数为65536,所以我们必须采用预分频,设置预分频值为1000,
100 000000HZ /1000 =100000HZ
一跳为1/100000 s

所以重装载值为2000

1.配置stm32cubemx



设置内部时钟

2.代码实现HAL_TIM_Base_Start_IT(&htim2);//开启定时器2HAL_TIM_PWM_Start_IT(&htim2,TIM_CHANNEL_3);//开启pwm 通道3



发送到工地施工 发表于 2024-12-30 23:57 | 显示全部楼层
如果要输出 PWM 信号,确保设置正确的 PWM 通道和占空比。
发送到工地施工 发表于 2024-12-30 23:58 | 显示全部楼层
确保系统时钟配置为所需频率,例如 100 MHz。具体配置可能根据不同 STM32 型号有所不同。
发送到工地施工 发表于 2024-12-30 23:58 | 显示全部楼层
点击 Project,选择你的开发环境(Keil/MDK、IAR、STM32CubeIDE 等),然后点击 Generate Code。
慢动作 发表于 2024-12-31 00:08 | 显示全部楼层
使用定时器生成定时中断。
使用 PWM 输出信号。
配置内部时钟系统。
配置定时器的预分频和重装载值,以实现 100kHz 的定时器频率。
申小林一号 发表于 2024-12-31 16:13 | 显示全部楼层
感谢分享,学习一下
643757107 发表于 2024-12-31 18:51 | 显示全部楼层
开始的带给IT是中断的意思吗?
地瓜patch 发表于 2024-12-31 23:06 来自手机 | 显示全部楼层
没看到pwm变化
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

1561

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部