请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP432P401R 工具/软件:Code Composer Studio
您好!
我正在尝试使用 Timer A 生成 PWM。我将计时器 A 的时钟源设置为 SMCLK、将 SMCLK 的时钟源设置为 DCO 时钟。 我没有获得 PWM 信号。 引脚2.4始终设置为高电平。
以下是我对资源库中给出的示例执行的代码修改:
//![Simple Timer_A Config] // Timer_A PWM 配置参数*/ Timer_A_PWMConfig pwmConfig = { Timer_A_CLOCKSOURCE_SMCLK、 Timer_A_CLOCKSOURCE_divider _1、 6000000、 Timer_A_CAPTURECOMPARE 寄存器_1、 Timer_A_OUTPUTMODE_RESET_SET、 3000000 }; //![Simple Timer_A 配置] int main (void) { /*停止看门狗*/ MAP_WDT_A_HOLDTimer(); MAP_CS_setDCOCenteredFrequency (CS_DCO_FREQUENCY 12); //![Simple Timer_A 示例] //将 MCLK 和 SMCLK 设置为12MHz,DCO 时钟作为源 // MAP_CS_setReferenceOscillatorFrequency (CS_REFO_128KHZ); MAP_CS_initClockSignal (CS_MCLK、CS_DCOCLK_SELECT、CS_CLOCK_DIVIDER_1); MAP_CS_initClockSignal (CS_SMCLK、CS_DCOCLK_SELECT、CS_CLOCK_DIVIDER_1); // MAP_PCM_setPowerState (PCM_AM_LF_VCORE1);
我只需设置 DCO 频率、然后在 initClockSignal 中将其用作 SMCLK 的时钟源。 此外、由于我的基本时钟为12MHz、我希望 PWM 时间周期为0.5秒、因此我给出了6000000作为节拍周期、3000000作为我的占空比节拍计数(50%)。
有人能帮我、告诉我哪里出错了吗?
谢谢你