Thread 中讨论的其他器件: SYSBIOS
工具/软件:TI-RTOS
平台:使用 TI-RTOS 2.16.1.14和 XDCtools 3.32.00.06的 EK-tm4c1294xl
CCS 版本:7.3
使用 GUI、我添加了一个一次性计时器、我希望在触发硬件中断时在函数中手动启动该计时器。 当我对 Timer_start ()执行一个调用、然后构建项目时、CCS 声称标识符是未定义的、即使定时器的句柄出现在.cfg 脚本中、并且当我在主.c 文件的句柄上"打开声明"时也是如此。 一次性计时器应运行5秒、然后调用 sigWatchTimerISR。 这是代码。 如果您需要更多信息、请告诉我、并感谢您的帮助。
由于 GUI 配置、.cfg 脚本代码自动处理:
timer0Params.instance.name ="sigWatchTimer";
timer0Params.period = 5000000;
timer0Params.startMode = xdc.module ("ti.sysbios.interfaces.ITimer").StartMode_USER;
timer0Params.runMode = XDC.MODULE ("ti.sysbios.interfaces.ITimer").RunMode_ONESHOT;
program.global.sigWatchTimer = Timer.create (-1、"&sigWatchTimerISR"、timer0Params);
引发错误的 main.c 代码:
Timer_start (sigWatchTimer);
错误:
说明 资源 路径 位置 类型
#20标识符"sigWatchTimer"未定义 empty.c /gpioSigWatch 第82行 C/C++问题
为了充分理解(我不熟悉 RTOS),我按照下面显示的帮助部分中列出的 Timer_start()函数的指令进行了操作。 注意:我尚未添加线程保护。
| timer_start () // 实例 |
重新加载并启动计时器
| c 概要 | 目标域 |
//如果中断可能导致 //对 Timer_start()的另一个调用,则禁用中断。 键= Hwi_disable(); Timer_stop (); ... Timer_start (); Hwi_restore (key);