当前位置:   article > 正文

32单片机实现呼吸灯_32呼吸灯

32呼吸灯

实现32呼吸灯的主函数:

把Num放在中断函数++。

 每过1s进入中断++。就是1s,Num++加一次。把Num给PWM_SetCompare()也就是CCR的值(比较值)。



好好好,上面是主函数。

下面是PWM的函数。



PWM函数:

 用的是TIM2的通道一——对应的是PA0;

1.所以要配置开启GPIO的PA0的。

2.用到定时器当然要配置时基单元。

3.因为要输出PWM所以要配置CCR,也就是OC输出比较

4.别忘了启动定时器,TIM_Cmd();

okok,配置进入中断的时间我们来配置一下。

        设置CNT计数器,PSC自动重装。

okok开始正片:

这个图里说的很详细了。

RCC开启时钟(TIM2,和GPIO口的)

先要选择内部时钟,用结构体来配置TIM2。

这里就是配置CCR比较值。因为在后面要改变CCR的值,所以在这里TIM_Pulse = 0.

在主程序中改变CCR的值

TIM_ITConfig(.......)——中断使能(没有这一句,中断开启不了)

下面这张图就是中断的基本结构。

NVIC——中断控制器

启动定时器——TIM_Cmd(TIM2,ENABLE);

这就是主函数里的中断。


这样配置就OK了!这就是利用中断改变CCR比较值的代码部分。

再改变CCR的同时,占空比也在改变。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/57056
推荐阅读
相关标签
  

闽ICP备14008679号