硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2504|回复: 2
收起左侧

[ThreadX全家桶] ThreadX定时器组回调函数里面不可调用带延迟参数,且延迟时间大于0的API

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117568
QQ
发表于 2021-8-12 17:20:39 | 显示全部楼层 |阅读模式

比如消息队列函数tx_queue_receive,第3个参数大于0,就是禁止在定时器回调函数里面调用的

  1. tx_queue_receive(&my_queue, my_message,
  2.                 TX_WAIT_FOREVER);
复制代码



QQ截图20210812171951.png


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117568
QQ
 楼主| 发表于 2021-8-13 08:50:02 | 显示全部楼层
总结了下:

定时器回调函数是在定时器任务中执行的,实际应用中切不可在定时器回调函数中调用任何将定时器任务挂起的函数,比如tx_thread_sleep以及非零延迟的消息队列和信号量相关的函数。将定时器任务挂起,会导致定时器任务负责的相关功能都不能正确执行了。
回复

使用道具 举报

25

主题

300

回帖

380

积分

高级会员

积分
380
发表于 2021-8-13 10:03:14 | 显示全部楼层
和FreeRTOS一样
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-15 19:40 , Processed in 0.037284 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表