Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
软定时器
timer
软定时器的回调会比所有线程都优先执行吗?
发布于 2021-11-25 10:08:40 浏览:781
订阅该版
rt_tick_increase这个函数是在中断里面执行的,如果软定时器开的太多或者某个定时器回调函数处理太耗时了, 那正常线程是不是就延迟了?(rt_timer_check()里面会执行已超时回调函数) ```c void rt_tick_increase(void) { struct rt_thread *thread; /* increase the global tick */ ++ rt_tick; /* check time slice */ thread = rt_thread_self(); -- thread->remaining_tick; if (thread->remaining_tick == 0) { /* change to initialized tick */ thread->remaining_tick = thread->init_tick; /* yield */ rt_thread_yield(); } /* check timer */ rt_timer_check(); } ```
查看更多
aozima
2021-11-25
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
>如果软定时器开的太多或者某个定时器回调函数处理太耗时了,那正常线程是不是就延迟了? 你的分析是对的,所以你要去避免。但这里是硬件定时器,不是软定时器。 - systick的中断里执行的硬定时器,优先级和ISR一样。代码编写要求也和ISR一样。 - 软定时器 是在线程中执行的,要求没ISR高,但是依然不建议有阻塞和delay这类操作。
4
个回答
默认排序
按发布时间排序
张世争
2021-11-25
学以致用
list_thread,查看线程的优先级,优先级可以调整,默认timer线程优先级高
出出啊
2021-11-25
恃人不如自恃,人之为己者不如己之自为也
所以,应用程序里,启用 rt_timer 一般设置 soft timer ,关于你提到的这个“定时器回调函数处理太耗时”的问题,我专门针对它做过优化,详见我的文章里《rt-thread 系统优化系列(三) 之 软定时器的定时漂移误差分析》,里面有代码,怎么避免这种耗时操作引起的定时偏移问题
我是青年
2024-10-26
喜欢研究rtt源码
rt_tick_increase 函数处于 SysTick 中断中,属于中断函数的一部分,应满足快进快出的原则。 应避免某定时器回调函数太耗时间。 至于定时器太多,我感觉应尽量减少这种情况。
撰写答案
登录
注册新账号
关注者
0
被浏览
781
关于作者
jizhongbiao
这家伙很懒,什么也没写!
提问
10
回答
23
被采纳
1
关注TA
发私信
相关问题
1
不同的pwm能否使用同一个timer的不同channel?
2
硬件定时器的问题咨询
3
hard fault on thread: timer
4
NANO移植finsh会导致启动时卡死在rt_object_init
5
rt_timer_start 链表死循环
6
定时器 rt_timer_init 里超时时间无效
7
timer文件的源码分析
8
定时器API bug反馈
9
关于RT-Thread中的软定时器使用疑问请教
10
rt_timer_detach脱离定时器后,定时器还在执行
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
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
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
KunYi
6
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部