找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 18701931930
打印 上一主题 下一主题
收起左侧

关于STC8G单片机的PCA_10PWM输出注意事项

  [复制链接]
41#
ID:1136941 发表于 2025-6-18 16:49 | 只看该作者
18701931930 发表于 2025-6-17 08:50
你写了寄存器数据也不会改变。

请教大佬,我用10位PWM的呼吸灯程序验证,不能正常是怎么回事?
回复

使用道具 举报

42#
ID:1136941 发表于 2025-6-21 16:35 | 只看该作者
参照16楼的,如下写呼吸灯正常了。
//设置脉冲宽度
void PWM0_Set_Duty(u16 Duty)   //P3.2
{
        PCA_PWM0&= ~(3<<4);        //清零重装值高2位
        PCA_PWM0 = (Duty>>4)&0x30|0xc0; //设置新的重装值高2位
        CCAP0H   = Duty;           //重装值低8位
}

//设置脉冲宽度
void PWM1_Set_Duty(u16 Duty)   //P3.3
{
        PCA_PWM1&= ~(3<<4);        //清零重装值高2位
        PCA_PWM1 = (Duty>>4)&0x30|0xc0; //设置新的重装值高2位
        CCAP1H   = Duty;           //重装值低8位
}
回复

使用道具 举报

43#
ID:958423 发表于 2025-7-2 15:59 | 只看该作者
别处看到了一个文章,里面说PCA_PWM寄存器必须整字节写入,不能位操作。我试了一下整字节是可以不停止pwm输出的情况下写入的。
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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