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

12C5A60S2的P1.4 PWM输出 这样初始化代码,到底是8位PWM还是9位PWM?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2024-09-09 19:04:22

9

主题

16

回帖

124

积分

注册会员

积分
124
发表于 2024-9-8 13:59:48 | 显示全部楼层 |阅读模式
本帖最后由 DebugLab 于 2024-9-8 17:54 编辑

//*********************************************************************************/
//PWM模块初始化
//*********************************************************************************/
void PWM_SET(void)
{  
    CCON = 0;                 // 初始化 PCA 控制寄存器
                                    // PCA 定时器停止运行
                                    // 清除 CF 标志位
                                    // 清除所有模块中断标志位
    CL = 0;                     // 重置 PCA 基本定时器低字节
    CH = 0;                    // 重置 PCA 基本定时器高字节

    CMOD = 0x14;          // 设置 PCA 定时器时钟源为系统时钟 Fosc/8              [PCA工作寄存器]

   // CMOD = 0x02;        // 设置 PCA 定时器时钟源为系统时钟 Fosc/2              [PCA工作寄存器]
                                   // 禁止 PCA 定时器溢出中断
    //CCAP0H = CCAP0L = 0x80;    // PWM0 端口输出占空比为 50%的方波
    //CCAPM0 = 0x42;                  // PCA 模块 0 工作在 8 位 PWM 模式且无 PCA 中断

    CCAP1H = CCAP1L =0;            // PWM1 端口输出占空比为 0%的方波


    PCA_PWM1 = 0x03;                 // 9位PWM输出模式   
    CCAPM1 = 0x42;                    // PCA 模块 1 工作在 9 位 PWM 模式且无 PCA 中断


    CR = 1;                         // PCA 定时器开始运行
}

PWM输出 这样初始化代码,到底是8位PWM还是9位PWM?我总感觉哪儿不对,     在24M主频工作下       发光管指示   闪动的好像5秒钟一次,我看不懂错在哪儿了,有大神帮我指点吗?



回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 最近打卡:2024-09-09 19:04:22

9

主题

16

回帖

124

积分

注册会员

积分
124
发表于 2024-9-8 16:11:05 | 显示全部楼层
CMOD = 0x14;   这句10进制与16进制和稀泥了,应该是CMOD = 0x0E;
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-4 04:03 , Processed in 0.186224 second(s), 51 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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