Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
RTT-定时器列表的BUG
发布于 2010-04-30 14:48:20 浏览:3235
订阅该版
RTT的定时计数器变量rt_tick在每个Tick中断内自增,自增到0xffffffff再溢出到0周而复始。 所有定时器对象的定时结束时基计算为:timer->timeout_tick = rt_tick_get() + timer->init_tick; 在时基中断,检查if (rt_tick >= t->timeout_tick)是否成立,如果成立则定时时间到。似乎很合理,但是错误就出现在这里。如果来了20个tick的定时请求在执行“timer->timeout_tick = rt_tick_get() + timer->init_tick;”时,若rt_tick为0xfffffff0,于是得出定时结束时间为0x00000004,于是该节点加入定时器列表等待超时。结果,下一次进入中断的rt_tick为0xfffffff1,使if (rt_tick >= t->timeout_tick)检查成立,所以定时时间结束,错误发生了! 这个错误平时发现不了,是因为等到rt_tick接近溢出需要很长时间(如果1毫秒一个tick的话,需要50天,10毫秒一个tick就需要500天,哈哈!),Bernard兄是不是考虑到这个情况才故意放过这个臭虫的呢?如果要解决该问题,必定添加不少冗余代码,影响性能。但留着这个漏洞又很不舒服,怎么办呢?
查看更多
2
个回答
默认排序
按发布时间排序
bernard
2010-05-01
这家伙很懒,什么也没写!
这个问题mbbill和阿干都和我讨论过,只是一直没能够找到比较好一些的办法,所以拖着没解决。呵呵,这个也是0.4.x分支必须要解决的问题之一。 因为RT-Thread目前主要面向小型应用,如果简单的解决这个问题,只需要更改32位为两个32位变量即可(当然这样仅仅是延长了很多出错的时间,从50天或500天延长到了4294967295 * 50天或4294967295 * 500天),这样唯一的问题就是多了4个字节。
撰写答案
登录
注册新账号
关注者
0
被浏览
3.2k
关于作者
shellstudio
这家伙很懒,什么也没写!
提问
5
回答
5
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
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
RTT串口查找函数使用过程中遇到的问题。
2
RT-Thread CI编译产物artifacts自动上传功能介绍
3
STM32G030移植RT-Thread
4
CubeMX & RT-Thread Studio 联合开发说明
5
RT-Thread项目助手v0.3 | Ubuntu与MacOS平台的RT-Thread Env
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
rt-smart
RTC
FAL
I2C_IIC
cubemx
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
Debug
SFUD
ulog
msh
C++_cpp
MicroPython
本月问答贡献
出出啊
1522
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
815
个答案
179
次被采纳
crystal266
555
个答案
162
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部