Thread 中讨论的其他器件:, SysConfig
我当时在工程中尝试使用 TIMG4、因此我从 mspm0_sdk_1_30_00_03修改了基于"pwm_leed_driver_lp_MSPM0L1306_nortos_ticlang" 的代码。
在修改之前、我对 LP-MSPM0L1306上的示例进行了调试。
代码可能会进入 void PWM_0_INST_IRQHandler (void)的中断
然后、我使用系统配置来添加 TIMG4。
我遇到了一个问题、我不认为选择计时器。

为了使用 TIMG4、我启用了 L1306的所有计时器、所以请让我知道如何在系统配置中分配外设(例如仅使用 TIMG4)吗?
从以下代码中、我了解到 TIMG4分配给了 PWM_1_INST。
因此我 在 main 中添加了 TIMG4的初始化代码。
int main(void) {
SYSCFG_DL_init();
NVIC_EnableIRQ(PWM_0_INST_INT_IRQN);
NVIC_EnableIRQ(PWM_1_INST_INT_IRQN);
DL_TimerG_startCounter(PWM_0_INST);
DL_TimerG_startCounter(PWM_1_INST);
while (1) {
__WFI();
}
}
void PWM_1_INST_IRQHandler(void) {
switch (DL_TimerG_getPendingInterrupt(PWM_1_INST)) {
case DL_TIMER_IIDX_LOAD:
if (dc1 <= 10) {
mode1 = 1;
} // if reached lowest dc (10%), increase dc
else if (dc1 >= 90) {
mode1 = 0;
} // if reached highest dc (90%), decrease dc
if (mode1) {
pwm_count1 -= 20;
dc1 += 1;
} // up
if (!mode1) {
pwm_count1 += 20;
dc1 -= 1;
} // down
DL_TimerG_setCaptureCompareValue(PWM_1_INST, pwm_count1,
DL_TIMER_CC_0_INDEX); // update ccr0 value
break;
default:
break;
}
}
代码编译完毕后、我开始在 LP-MSPM0L1306上调试此代码。
遗憾的是、未调用 TIMG4的中断。
代码不会运行到 "void PWM_1_INST_IRQHandler (void)"。
您愿意帮助检查如何使代码适用于 TIMG4吗?
我将代码附在这里。
e2e.ti.com/.../pwm_5F00_led_5F00_driver_5F00_LP_5F00_MSPM0L1306_5F00_nortos_5F00_ticlang.zip
非常感谢。
Br
凯利
