|
创建单次定时器
- TX_TIMER AppTimer;
- /*
- *********************************************************************************************************
- * 函 数 名: AppObjCreate
- * 功能说明: 创建任务通讯
- * 形 参: 无
- * 返 回 值: 无
- *********************************************************************************************************
- */
- static void AppObjCreate (void)
- {
- /* 定时器组 */
- tx_timer_create(&AppTimer,
- "App Timer",
- TimerCallback,
- 0, /* 传递的参数 */
- 100, /* 设置定时器时间溢出的初始延迟,单位ThreadX系统时间节拍数 */
- 0, /* 设置初始延迟后的定时器运行周期,如果设置为0,表示单次定时器 */
- TX_AUTO_ACTIVATE); /* 激活定时器 */
- }
复制代码
回调函数里面的处理:
- /*
- *********************************************************************************************************
- * 函 数 名: TimerCallback
- * 功能说明: 定时器组回调函数
- * 形 参: thread_input
- * 返 回 值: 无
- *********************************************************************************************************
- */
- void TimerCallback(ULONG thread_input)
- {
- /* 带延迟参数,且设置大于0,都不要在定时组的回调函数里面调用 */
- bsp_LedToggle(4);
-
- /* 重新设置溢出时间并激活 */
- tx_timer_change(&AppTimer, 50, 0);
- tx_timer_activate(&AppTimer);
- }
复制代码 |
|