找回密码
 立即注册
查看: 273|回复: 1

PWM寄存器配置的疑问(OC1FE必须在通道打开时才能写)

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:419
  • 最近打卡:2025-05-02 06:28:49

24

主题

108

回帖

452

积分

中级会员

积分
452
发表于 2024-6-30 23:53:36 | 显示全部楼层 |阅读模式
PWM感觉没学会,今天又拿冲哥代码对照STC芯片手册研究。发现有一个疑问,手册上写OC1FE必须在通道打开时才能写,冲哥代码是否直接写了。
下面红字部分是我写,其他的是冲哥的代码。




void PWMA_Init(void)                        //PWMA的初始化
{
        //1.时钟源选择  这里不改,默认22.1184mhz
       
        //2.时基单元选择
        PWMA_PSCRH = 0;                                //1分频
        PWMA_PSCRL = 0;
       
        PWMA_ARRH  = (u8)(PWM_ARR>>8);
        PWMA_ARRL  = (u8)(PWM_ARR);
       
        PWMA_CCR1H  = (u8)(PWM_CCR>>8);
        PWMA_CCR1L  = (u8)(PWM_CCR);       
       
       
        //3.输入输出的引脚配置
        PWMA_ENO = 0X00;                        //使能PWM1n通道输出
        PWMA_ENO |= 0X02;
       
        PWMA_PS =0x00;                                //选择PWM1从P60引脚输出
        PWMA_PS |= (2<<0);       
       
        //4.输入输出模式设置
        //PWMA_CCER1:捕获/比较使能寄存器
        PWMA_CCER1 = 0X00;       //CC2NP=0;CC2NE=0;CC2P=0;CC2E=0;CC1NP=0;CC1NE=0;CC1P=0;CC1E=0;
        PWMA_CCMR1 = 0X68;        //0110 1000 pwm模式1 配置置位输出
                                                //OC1CE=0不受外部ETRF输入影响;
                                                //OC1M[2:0]=110,PWM模式1;
                                                //OC1PE =1;开起输出比较预装载使能
                                                //CC1FE =0,输出快速比较使能,CC1正常操作;
                                                //CC1S[1:0]=00,捕获/比较方向为输出
         //PWMA_CCER1 = 0X00,即CC1E=0;PWMA_CCMR1 = 0X68,即OC1PE =1

截图202406302352184551.jpg

这里感觉有矛盾。
        PWMA_CCER1 = 0x04;                        //开启输出比较通道
       
        PWMA_BKR = 0X80;                        //使能主输出
       
        PWMA_CR1 |= 0X01;                        //启动计数器
}



回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:520
  • 最近打卡:2025-05-01 08:06:21

109

主题

1897

回帖

5204

积分

论坛元老

积分
5204
发表于 2024-7-1 08:13:25 | 显示全部楼层
自己检验一下,就知道行不行。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 08:52 , Processed in 0.196535 second(s), 54 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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