Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
线程
空闲钩子函数执行一会不执行
发布于 2023-03-18 11:25:00 浏览:414
订阅该版
rt_thread_idle_sethook(根据tick灯变化闪烁);空闲函数跑了一会,就不再执行,其他线程正常执行 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230318/f35118f33f037a687a9ee5b351f94940.png.webp)
查看更多
3
个回答
默认排序
按发布时间排序
月桂树GG_lwg
2023-03-18
这家伙很懒,什么也没写!
是不是在tidle里面加了信号量之类的锁? 或者是不是其他线程把CPU占死了,导致空闲线程没法执行了?
红枫
认证专家
2023-03-19
这家伙很懒,什么也没写!
可能是有高优先级线程占死CPU不释放,使用syswatch可以有效防止线程死机
lchnu
2023-03-19
Witness, Understand, Skill
以下是根据你提供的截图,开展的一段简单分析思路,供参考。 看到你的log中,tidle0线程的Error是-2,表示-RT-ETIMEOUT。 使用list_thread或者ps命令,打印线程的信息,会打印变量thread->error,即线程error状态。 在RT的源代码中,使得thread->error为-2的语句只有5条。 ```c thread->error = -RT_ETIMEOUT; ``` 使用CTRL+H在整个工程中搜索,分别在rt_mutex_take、rt_event_recv、rt_mb_recv、rt_mq_recv和rt_thread_timeout函数中。 因此,你重点看一下,`你设置的hook函数中到底发生了什么?是不是你的钩子函数存在等待某种资源的操作?` `钩子函数必须足够简单,且不要存在阻塞(Block)或者挂起(Suspend)的操作。` 另外,值得注意的还有以下两点: 1. rt_thread_idle_sethook函数只需要调用一次,设置钩子函数即可,即将某个函数指针写入到idle_hook_list数组中。 2. idle线程中,会依次从idle_hook_list数组中取出函数指针变量,当它不为空,则调用钩子函数。调用钩子函数完毕后,再执行rt_defunct_execute函数释放各种资源。 从你的描述来看,你设置钩子函数使得led按照tick闪烁,应该是在hook中调用了rt_thread_delay之类的操作吧。
撰写答案
登录
注册新账号
关注者
0
被浏览
414
关于作者
123456wl
努力,,,,,,,,,,,
提问
14
回答
6
被采纳
0
关注TA
发私信
相关问题
1
请问执行rt_thread_delete的操作后,线程还在运行是什么情况?
2
rtthread中,线程中的ADC采样率需求比时钟嘀嗒需求高怎么办?
3
有没有检测系统中有没有某个名字的线程的接口函数?
4
使用finsh 进行ota成功,线程里开ota失败
5
调度锁会引起线程内存不足
6
线程处于close状态消耗资源吗
7
paho_mqtt线程相关疑问
8
thread中不能使用rt_timer_start() 来开启定时器
9
线程递归是什么形成的?
10
程序运行一会儿报错,拜托拜托
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
国产MCU移植系列教程汇总,欢迎查看!
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【RT-Thread 全球电子设计大赛】基于vision board 的巡检除冰机器人
2
新手教程-Pin设备使用
3
基于嵌入式的智能关怀系统#24嵌入式设计大赛
4
基于机器视觉识别自动跟踪器
5
[24嵌入式设计大赛]基于Vision-Board的智能应急环境监测控制小车
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
文件系统
DMA
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
ota在线升级
WIZnet_W5500
UART
flash
packages_软件包
cubemx
PWM
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
中断
flashDB
socket
Debug
GD32
编译报错
msh
keil_MDK
at_device
MicroPython
rt_mq_消息队列_msg_queue
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
5
个答案
2
次被采纳
rv666
6
个答案
1
次被采纳
用户名由3_15位
5
个答案
1
次被采纳
xiaorui
2
个答案
1
次被采纳
张世争
2
个答案
1
次被采纳
本月文章贡献
jaffer
1
篇文章
5
次点赞
rtt_dmx
1
篇文章
4
次点赞
flytianya2010
1
篇文章
2
次点赞
BRICK PORTER
1
篇文章
2
次点赞
不灬忘初心
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部