超时函数原理及程序
来源:互联网 发布:淘宝店铺最怕什么 编辑:程序博客网 时间:2024/05/16 17:02
一、超时函数原理
在初始化定时器时,要设定定时器计时中断(本例设置为1ms)时间,在中断中要进行计数。当启动定时器时候,开始要设定两个参数:一个初始计数值a,要设定的定时间隔为i。此时a在定时器中断里不断加1计数,当计数到b时,正好b-a>i时,说明已经超时,超时函数返回一个true值,原理示意图如图1所示。
图1 超时原理示意图
二、版权声明
博主:Herd_Boy
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://my.csdn.net/lzy990828
联系方式:726955368@qq.com
技术交流QQ:726955368
三、程序流程图
四、程序代码
<span style="font-size:14px;font-weight: normal;">/********************************************************************************* 函数名称: u16 Clock_Time()** 函数功能: 超时计数** 入口参数: 无** 出口参数: 返回计数值** 备 注: 无*******************************************************************************/u16 Clock_Time(){ return clock_tick;}</span>
<pre name="code" class="plain"><span style="font-size:14px;font-weight: normal;">/********************************************************************************* 函数名称: void Timer_Set(struct timer *t, u16 interval)** 函数功能: 设置一个定时时间** 入口参数: t:指向定时器, interval:超时间隔** 出口参数: 无** 备 注: 无*******************************************************************************/void Timer_Set(struct timer *t, u16 interval){ t->interval = interval; t->start = Clock_Time();}/********************************************************************************* 函数名称: u16 Timer_Expired(struct timer *t)** 函数功能: 判断是否超时** 入口参数: 指向定时器的指针** 出口参数: TRUE or FALSE** 备 注: 无*******************************************************************************/u16 Timer_Expired(struct timer *t){ u16 diff; diff=(Clock_Time() - t->start) + 1; return t->interval < diff;}</span>
五、测试结果
六、总结
写博客只为记录自己成长路上的点点滴滴,如能对别人有所帮助,那便是锦上添花,希望自己“不忘初心”,第一次写博客,如有错误请指正。
2 0
- 超时函数原理及程序
- Netty 超时机制及心跳程序实现
- Netty 超时机制及心跳程序实现
- epoll函数及原理
- Windows Service服务程序的原理及实现(0)服务主函数 & 控制处理函数
- 步进电机原理及程序
- 触摸屏原理及程序框架
- 舵机工作原理及程序
- c++ 类模板及exe程序怎么利用obj文件去寻找函数地址原理
- libpcap原理及函数介绍
- 虚函数原理及应用
- Select函数详解及原理
- poll函数详解及原理
- JDBC的超时原理
- 验证码的程序及原理
- 验证码的程序及原理
- ASP 验证码的程序及原理
- 验证码的程序及原理
- AC自动机原理说明
- 破解IntelliJ Idea 15 方式
- Hadoop之--集群环境搭建
- Java NIO FileChannel
- Hadoop 学习第一步 ,Hadoop环境搭建
- 超时函数原理及程序
- Json反序列化之ObjectMapper(自定义实现反序列化方法)
- mysql-connector-java.jar包和源代码下载地址
- Python2.X无换行无空格输出
- eclipse安装extjs插件
- JavaScript 中的 prototype
- 什么是API
- 编程之久除了算法和数据结构,什么也不属于我们。
- python更新pip