Thread 中讨论的其他器件:SYSBIOS
工具/软件:Code Composer Studio
大家好!
我尝试使用 Timer1和 Timer2生成2个中断、我对使用哪个库以及如何使用感到有点困惑。
我第一次尝试使用 { 、 }库,但不幸的是,在运行只有一个计时器的示例时,我无法同时运行2个计时器。
此外、使用这些库、我无法确定如何设置计时器的优先级、当由于冲突而具有多个计时器时、这可能是个问题。
因此、我尝试使用 { 、 },它还公开硬件参数,并尝试运行如下所示的计时器:
Hwi_Params Hwi_params;
Timer_Params params;
Error_Block EB;
Error_init (&EB);
Hwi_Params_init (&hwi_params);
Timer_Params_init (¶ms);
// Timer_any 获取任何可用的计时器
XDC_UINT TimerId = Timer_any;
hwi_params.priority = 1;
//hwi_params.maskSetting = Hwi_MaskingOption_self;
params.hwiParams =&hwi_params;
params.periodType = Timer_PeriodType_microsecs;
//params.startMode = Timer_StartMode_user;// Timer_start
params.periodType = ti_sysbios_interfaces_itimer_PeriodType_micros;
//params.runMode = ti_sysbios_interfaces_itimer_RunMode_OneShot;
params.startMode = ti_sysbios_interfaces_itimer_StartMode_user;
params.period = timerPeriod_unit * unit;// 1ms = 1000us
TimerHandle = Timer_create (TimerId、(Timer_Functr) timerFunction、¶ms、&EB);
IF (TimerHandle = NULL)
{
// Serial.println ("***计时器创建失败");
System_abort ("计时器创建失败");
}
但是、中断从未发生、代码似乎卡在 Timer_Handler 的创建过程中。
我观察到的另一件事是,如果我想通过使用 Timer_getNumTimer()来检查板上有多少个计时器 , 我在使用 HAL 库时会得到4个计时器,在使用 M3库时会得到1个计时器。
您能否通过一些示例或建议来帮助我使用哪个库?
非常感谢!
Artemis