Thread 中讨论的其他器件: SYSBIOS
工具/软件:TI C/C++编译器
大家好、
根据 TMS320F28388D 的 TRM、缺省情况下、定时器2被用于 SYS/BIOS、如下所示:
是否有必要像下面的代码一样在脚本中显式配置计时器2?
/*
*创建一个计时器实例以生成周期性中断。
*
* 计时器 ID:2 (CPU TIMER2中断(使用 Forti/RTOS))
*
* 核心优先级:18.
*
*计时器将在 BIOS_start()内启动
*线程
*
VAR 计时器= xdc.useModule('ti.sysbios.family.c28.Timer');
var timerParams = new Timer.Params();
timerParams.startMode = Timer.StartMode_Auto;
timerParams.runMode = Timer.RunMode_Continuous;
/*定时器周期为1毫秒(1、000 μ 秒)*/
timerParams.period = 1000;
timerParams.periodType = Timer.PeriodType_microsecs;
timerParams.emulationModeInit.free = 1;
VAR myTimer = Timer.create (2、'&OS_1ms_ISR'、timerParams);
另一个问题是 TMS320F28388D 有3个计时器、即 Timer0/1/2。 SYS/BIOS 如何知道选择哪个定时器作为时基参考?
换言之、我在脚本文件中配置两个计时器 TIMER0/2、如下所示:
VAR 计时器= xdc.useModule('ti.sysbios.family.c28.Timer');
var timerParams = new Timer.Params();
timerParams.startMode = Timer.StartMode_Auto;
timerParams.runMode = Timer.RunMode_Continuous;
/*定时器周期为1/2秒(500、000 μ 秒)*/
timerParams.period = 100;
timerParams.periodType = Timer.PeriodType_microsecs;
VAR myTimer = Timer.create (0、'&OS_100us_ISR'、timerParams);
VAR 计时器= xdc.useModule('ti.sysbios.family.c28.Timer');
var timerParams = new Timer.Params();
timerParams.startMode = Timer.StartMode_Auto;
timerParams.runMode = Timer.RunMode_Continuous;
/*定时器周期为1毫秒(1、000 μ 秒)*/
timerParams.period = 1000;
timerParams.periodType = Timer.PeriodType_microsecs;
timerParams.emulationModeInit.free = 1;
VAR myTimer = Timer.create (2、'&OS_1ms_ISR'、timerParams);
然后选择哪个定时器供 SYS/BIOS 使用?
谢谢。