发新帖我要提问
12
返回列表
打印
[其他ST产品]

STM32F1定时器-PWM输出

[复制链接]
楼主: 键盘手没手
手机看帖
扫描二维码
随时随地手机跟帖
21
键盘手没手|  楼主 | 2023-10-28 17:09 | 只看该作者 回帖奖励 |倒序浏览
main函数
因为dir初始化为1,所以进入while循环后,led0pwmval++,等led0pwmval增加到大于300时,dir 被置为 0,led0pwmval又开始减少,减到0后,dir置为1,led0pwmval再增加,如此反复

使用特权

评论回复
22
键盘手没手|  楼主 | 2023-10-28 17:10 | 只看该作者
调用TIM_SetCompare2函数往CCR2寄存器写入不断变化的led0pwmval值,输出PWM,LED灯呈呼吸灯的效果

使用特权

评论回复
23
键盘手没手|  楼主 | 2023-10-28 17:10 | 只看该作者
#include "PWM.h"
int main()
{
        u16 led0pwmval = 0;
        u8 dir = 1;
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);        //NVIC初始化分组
        LED_Init();                //LED初始化
        delay_init();        //延时初始化
        TIM_PWM_Init(899,0);        //不分频。PWM频率=72000000/900=80Khz
        while(1)
        {
                delay_ms(10);
                if(dir)
                {
                        led0pwmval++;
                }
                else
                {
                        led0pwmval--;
                }

                if(led0pwmval > 300){dir = 0;}
                if(led0pwmval == 0){dir = 1;}

                //往CCR2寄存器写入不断变化的led0pwmval值,调整比较值,就能输出不断变化的占空比了
                TIM_SetCompare2(TIM2,led0pwmval);
        }
}

使用特权

评论回复
24
Clyde011| | 2024-2-9 07:08 | 只看该作者

要在外部连接一个振荡电路提供时钟信号

使用特权

评论回复
25
公羊子丹| | 2024-2-9 08:01 | 只看该作者

影响控制IC

使用特权

评论回复
26
万图| | 2024-2-9 09:04 | 只看该作者

与15号引脚连接的C1称为旁路电容

使用特权

评论回复
27
Uriah| | 2024-2-9 10:07 | 只看该作者

时序电路是按时钟信号(CK)的上升沿(信号从L→H的变化)或下降沿(信号从H→L的变化)同步工作的

使用特权

评论回复
28
帛灿灿| | 2024-2-9 12:03 | 只看该作者

电压范围称为工作电源电压

使用特权

评论回复
29
Bblythe| | 2024-2-9 13:06 | 只看该作者

内部电路工作电圧是通过内部电压调节器调节电源电压得到的

使用特权

评论回复
30
周半梅| | 2024-2-9 15:02 | 只看该作者

减小滤波电容的等效串联电阻(ESR)

使用特权

评论回复
31
Pulitzer| | 2024-2-9 16:05 | 只看该作者

通常选择0.01μF~0.1μF的陶瓷电容作为旁路电容。

使用特权

评论回复
32
童雨竹| | 2024-2-9 18:01 | 只看该作者

通过电容方式耦合到不同层上邻近的引线上

使用特权

评论回复
33
Wordsworth| | 2024-2-9 19:04 | 只看该作者

防止因瞬间大电流引起的电源电压下降

使用特权

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

本版积分规则