打印
[STM32F1]

单片机呼吸灯代码

[复制链接]
326|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。

使用特权

评论回复
5
慢动作| | 2024-12-31 00:08 | 只看该作者
使用定时器生成定时中断。
使用 PWM 输出信号。
配置内部时钟系统。
配置定时器的预分频和重装载值,以实现 100kHz 的定时器频率。

使用特权

评论回复
6
申小林一号| | 2024-12-31 16:13 | 只看该作者
感谢分享,学习一下

使用特权

评论回复
7
643757107| | 2024-12-31 18:51 | 只看该作者
开始的带给IT是中断的意思吗?

使用特权

评论回复
8
地瓜patch| | 2024-12-31 23:06 | 只看该作者
没看到pwm变化

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

41

主题

1353

帖子

1

粉丝