[开发资料] 软件超时机制

[复制链接]
 楼主| 小小蚂蚁举千斤 发表于 2024-6-11 19:00 | 显示全部楼层 |阅读模式

基本思想:定时器中断使用一个变量TICK,中断间隔时间t,在准备定时开始时读取此时刻的TICK,在程序运行过程中实时读取当前的TICK信息并计算即可。

因此在时间计算时只需计算开始STARTTICK和结束ENDTICK即可完成时间计算。时间计算T=(ENDTICK-STARTTICK)*t;使用一个定时器中断每t时间处理一次中断,中断里面时间计数值s_u32TCNT++,如下图所示:

1.png



程序中定义一个结构体来保存超时开始和超时结束时间,结构体定义如下图所示:

2.png



在需要做定时超时处理的地方实时的获取当前s_u32TCNT并赋值给u32EndTimeTick,计算开始u32StartTimeTick和结束时u32EndTimeTick的时间差来判断时间是否到来即可,程序设计示意代码如下图所示:

3.png

AdaMaYun 发表于 2024-6-13 20:00 | 显示全部楼层
定时器中断进行超时设计简单操作
OKAKAKO 发表于 2024-6-21 21:26 | 显示全部楼层
定时器绘制的软件超时机制非常简单
中国龙芯CDX 发表于 2024-6-26 16:09 | 显示全部楼层
程序中定义一个结构体来保存超时开始和超时结束时间
jf101 发表于 2024-6-27 16:34 | 显示全部楼层
软件超时机制原理非常不错,很好的过程讲解
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

2536

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部