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

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

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:464
  • 最近打卡:2025-06-17 22:43:34

24

主题

109

回帖

314

积分

中级会员

积分
314
发表于 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
  • 打卡总天数:568
  • 最近打卡:2025-06-18 08:11:24

114

主题

2028

回帖

5823

积分

论坛元老

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-18 10:53 , Processed in 0.123469 second(s), 57 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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