Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
线程
空闲钩子函数执行一会不执行
发布于 2023-03-18 11:25:00 浏览:81
订阅该版
rt_thread_idle_sethook(根据tick灯变化闪烁);空闲函数跑了一会,就不再执行,其他线程正常执行 
查看更多
3
个回答
默认排序
按发布时间排序
月桂树GG_lwg
3天前
这家伙很懒,什么也没写!
是不是在tidle里面加了信号量之类的锁? 或者是不是其他线程把CPU占死了,导致空闲线程没法执行了?
红枫
认证专家
2天前
这家伙很懒,什么也没写!
可能是有高优先级线程占死CPU不释放,使用syswatch可以有效防止线程死机
lchnu
2天前
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
被浏览
81
关于作者
123456wl
努力,,,,,,,,,,,
提问
13
回答
5
被采纳
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
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
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开发GD32F450 添加adc外设
2
RT-Thread Smart qemu-virt64-riscv 用户态 userapps 的编译与运行
3
RT-Thread BSP qemu-virt64-riscv 的编译环境搭建
4
RT-Thread Studio WCH-LINK 无法下载问题解决
5
RT-Thread BSP qemu-virt64-aarch64 文件系统
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
FinSH
ART-Pi
Bootloader
CAN总线
Hardfault
文件系统
USB
DMA
RT-Thread
线程
SCons
RT-Thread Nano
stm32
MQTT
ota
ESP8266
RTC
UART
rtthread
packages_软件包
rt-smart
freemodbus
I2C
WIZnet_W5500
flash
cubemx
FAL
定时器
AB32VG1
PWM
BSP
ADC
msh
SDIO
socket
keil
Debug
C++_cpp
LVGL
编译报错
SFUD
中断
SMP
MicroPython
本月问答贡献
宇宙码蚁
39
个答案
5
次被采纳
Ryan_CW
6
个答案
4
次被采纳
xiaorui
23
个答案
3
次被采纳
lchnu
11
个答案
2
次被采纳
rcp
9
个答案
2
次被采纳
本月文章贡献
张世争
6
篇文章
10
次点赞
YZRD
5
篇文章
8
次点赞
快乐小鸟
4
篇文章
4
次点赞
RTT_逍遥
3
篇文章
24
次点赞
recan
2
篇文章
17
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部