我写的方案:
void InitPWM(void)
{
Power_setConstraint(PowerCC26XX_SB_DISALLOW);
Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
GPTimerCC26XX_Params params;
GPTimerCC26XX_Params_init(¶ms);
params.width = GPT_CONFIG_16BIT;
params.mode = GPT_MODE_PWM;
params.debugStallMode = GPTimerCC26XX_DEBUG_STALL_OFF;
hTimer = GPTimerCC26XX_open(Board_GPTIMER0A, ¶ms);
if(hTimer == NULL) {
//Log_error0("Failed to open GPTimer");
//Task_exit();
}
GPTimerCC26XX_PinMux pinMux = GPTimerCC26XX_getPinMux(hTimer);
PINCC26XX_setMux(PinMyHandle, IOID_1, pinMux);
GPTimerCC26XX_setLoadValue(hTimer, 2400);
GPTimerCC26XX_setMatchValue(hTimer, 1200);
GPTimerCC26XX_registerInterrupt(hTimer, timerCallback, GPT_INT_CAPTURE);
// GPTimerCC26XX_enableInterrupt(hTimer, GPT_INT_CAPTURE);
GPTimerCC26XX_disableInterrupt(hTimer, GPT_INT_CAPTURE);
GPTimerCC26XX_setCaptureEdge(hTimer, GPTimerCC26XX_POS_EDGE);
GPTimerCC26XX_start(hTimer);
}
然后在中断中计数,到达一定数量后关闭中断,并恢复低功耗状态,但是并没有啥用,无法输出PWM波形来。。。
风吹我衣:
中断使能已经开启了
Viki Shi:
参考论坛类似问题: e2echina.ti.com/…/119734
TI中文支持网


