独步天下 发表于 2024-9-8 13:59:48

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

本帖最后由 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            

   // CMOD = 0x02;      // 设置 PCA 定时器时钟源为系统时钟 Fosc/2            
                                 // 禁止 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秒钟一次,我看不懂错在哪儿了,有大神帮我指点吗?



独步天下 发表于 2024-9-8 16:11:05

CMOD = 0x14;   这句10进制与16进制和稀泥了,应该是CMOD = 0x0E;
页: [1]
查看完整版本: 12C5A60S2的P1.4 PWM输出 这样初始化代码,到底是8位PWM还是9位PWM?