打印
[开发资料]

软件超时机制

[复制链接]
75|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

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

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





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





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



使用特权

评论回复
沙发
AdaMaYun| | 2024-6-13 20:00 | 只看该作者
定时器中断进行超时设计简单操作

使用特权

评论回复
板凳
OKAKAKO| | 2024-6-21 21:26 | 只看该作者
定时器绘制的软件超时机制非常简单

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

163

主题

1336

帖子

0

粉丝