可能是自己设计的角落。 CCR0/1/2作为引脚 P1.4/5/6上的输出 TA0.0/1/2可用、因此我可能错误地认为这意味着您可以使用它们(具体为 CCR0)。 我希望从一个计时器获得3个 PWM 信号、所有信号的频率/周期都相同、但占空比独特。 从阅读数据表中可以看出、我应该能够以250Hz 的连续模式(翻转0xFFFF)完成这一操作、但我似乎没有任何幸运。 我已经阅读过有关巧妙使用 ISR 来实现多个频率的文章、但这不是我要尝试的。 我应该能够做到这一点吗?
//启动计时器
Timer_A_clearTimerInterrupt (timer_A0_BASE);
Timer_A_initContinuousModeParam initContinuousParam ={0};
initContinuousParam.clockSource = TIMER_A_CLOCKSOURCE_SMCLK;
initContinuousParam.clockSourceDivider = TIMER_A_CLOCKSOURCE_divider;
initContinuousParam.timerInterruptEnable_TAIE = TIMER_A_TAIE_INTERRUPT_DISABLE;
initContinuousParam.timerClear = timer_a_do 清除;
initContinuousParam.startTimer = false;
Timer_A_initContinuousMode (timer_A0_BASE、&initContinuousParam);
Timer_A_startCounter (timer_A0_BASE、
Timer_A_Continuous_mode
);
//初始化比较寄存器以生成 PWM1
Timer_A_initCompareModeParam initComp0Param ={0};
initComp0Param.compareRegister = TIMER_A_CAPTURECMPARE 寄存器_0;
initComp0Param.compareInterruptEnable =
Timer_A_CAPTURECMPARE 中断禁用;
initComp0Param.compareOutputMode = TIMER_A_OUTPUTMODE_SET_RESET;
initComp0Param.compareValue = DUTY0;
Timer_A_initCompareMode (timer_A0_BASE、&initComp0Param);
//初始化比较寄存器以生成 PWM2
Timer_A_initCompareModeParam initComp1Param ={0};
initComp1Param.compareRegister = TIMER_A_CAPTURECMPARE 寄存器_1;
initComp1Param.compareInterruptEnable =
Timer_A_CAPTURECMPARE 中断禁用;
initComp1Param.compareOutputMode = TIMER_A_OUTPUTMODE_SET_RESET;
initComp1Param.compareValue = DUTY1;
Timer_A_initCompareMode (timer_A0_BASE、&initComp1Param);
//初始化比较寄存器以生成 PWM3
Timer_A_initCompareModeParam initComp2Param ={0};
initComp2Param.compareRegister = TIMER_A_CAPTURECMPARE 寄存器_2;
initComp2Param.compareInterruptEnable =
Timer_A_CAPTURECMPARE 中断禁用;
initComp2Param.compareOutputMode = TIMER_A_OUTPUTMODE_SET_RESET;
initComp2Param.compareValue = DUTY2;
Timer_A_initCompareMode (timer_A0_BASE、&initComp2Param);
谢谢、
Scott