Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
线程
空闲钩子函数执行一会不执行
发布于 2023-03-18 11:25:00 浏览:377
订阅该版
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
被浏览
377
关于作者
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 挂载romfs与ramfs
2
[Vision Board创客营]使用openmv识别阿尼亚
3
smart启动流程详解
4
小内存管理(1)--- 内存初始化
5
spi自动初始化程序
热门标签
RT-Thread Studio
串口
LWIP
Env
SPI
Bootloader
AT
ART-Pi
Hardfault
CAN总线
FinSH
USB
文件系统
DMA
RT-Thread
SCons
线程
RT-Thread Nano
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
ota在线升级
WIZnet_W5500
I2C_IIC
UART
flash
cubemx
packages_软件包
freemodbus
PWM
潘多拉开发板_Pandora
定时器
BSP
ADC
中断
flashDB
编译报错
socket
keil_MDK
GD32
msh
Debug
SFUD
MicroPython
ulog
SDIO总线
rt_mq_消息队列_msg_queue
本月问答贡献
小小李sunny
4
个答案
3
次被采纳
a1012112796
3
个答案
2
次被采纳
聚散无由
1
个答案
2
次被采纳
用户名由3_15位
4
个答案
1
次被采纳
aeniac
3
个答案
1
次被采纳
本月文章贡献
zhuzhuzhu
1
篇文章
4
次点赞
聚散无由
1
篇文章
3
次点赞
踩姑娘的小蘑菇
1
篇文章
2
次点赞
Hlafklio
1
篇文章
2
次点赞
YDPB_5935
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部