OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3250|回复: 2

原子哥进啊,各位大佬求助

[复制链接]

2

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-20
在线时间
23 小时
发表于 2019-7-16 14:17:56 | 显示全部楼层 |阅读模式
10金钱
H7的PWM教程,为什么修改CCR寄存器的值,也就是占空比,只能循环修改,就是不停的写入CCR的值才可以改变。如果直接只写入以此CCR的值,占空比就会变回初始化的时候的默认值。
找了一天了,也不知道为什么,太让人费解了。

int main(void)
{       
        u8 dir=1;
    u32 led0pwmval=180000;
       
        Cache_Enable();                                        //打开L1-Cache
        HAL_Init();                                                        //初始化HAL库
        Stm32_Clock_Init(160,5,2,4);                  //设置时钟,400Mhz
        delay_init(400);                                                //延时初始化
    TIM2_PWM_Init(200000-1,20-1);                     //200M/20=10M的计数频率,自动重装载为200000,那么PWM频率为10M/200000=50HZ       
        while(1)
        {
        TIM_SetTIM2Compare1(180000);
        }
}

也就是说这样放在while里是可以修改成功的。
int main(void)
{       
        u8 dir=1;
    u32 led0pwmval=180000;
       
        Cache_Enable();                                        //打开L1-Cache
        HAL_Init();                                                        //初始化HAL库
        Stm32_Clock_Init(160,5,2,4);                  //设置时钟,400Mhz
        delay_init(400);                                                //延时初始化
    TIM2_PWM_Init(200000-1,20-1);                     //200M/20=10M的计数频率,自动重装载为200000,那么PWM频率为10M/200000=50HZ       
        delay_us(300);
        TIM_SetTIM2Compare1(180000);
}


但是这样就不可以,我还加了延时试过。
       


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-5-20
在线时间
23 小时
 楼主| 发表于 2019-7-16 14:20:59 | 显示全部楼层
void TIM_SetTIM2Compare1(u32 compare)
{
        __HAL_TIM_SET_COMPARE(&TIM2_Handler, TIM_CHANNEL_1,compare);
       
//        TIM2->CCR1=compare;
//        TIM2_CH1Handler.Pulse=compare;
//        HAL_TIM_PWM_ConfigChannel(&TIM2_Handler,&TIM2_CH1Handler,TIM_CHANNEL_1);
       
}

这是修改CCR的函数,三种修改的方法我都试过了不行
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2019-7-17 02:10:04 | 显示全部楼层
只需要写一次即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 11:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表