j嵌入式f_os之定时管理
/*
* jf_timer.h
*
* Created on: Aug 20, 2016
* Author: lort
*/ #ifndef JF_OS_JF_TIMER_H_
#define JF_OS_JF_TIMER_H_ #include "jf_types.h" typedef void (*time_fuc_t) (void *param); typedef struct
{
void *next;
uint32 decounter;
uint32 reroad;
time_fuc_t fuc;
void *param;
}jf_timer_t; #endif /* JF_OS_JF_TIMER_H_ */
#include "jf_types.h"
#include "jf_timer.h"
#include "jf_mem.h" jf_timer_t *pjf_time = NULL;
void jf_timer_poll(uint32 ticks)
{
jf_timer_t *pcur;
if(pjf_time!=NULL)
{
pcur = pjf_time;
while(pcur!=NULL)
{
if(pcur->param!=NULL)
{
if(pcur->decounter>=ticks)
pcur->decounter-=ticks;
else
{
pcur->decounter = ;
pcur->fuc(pcur->param);
if(pcur->reroad)
{
pcur->decounter = pcur->reroad;
}
else
{
jf_free(pcur->param);
pcur->param = NULL;
}
}
}
pcur = pcur->next;
}
}
}
int jf_timer_add(uint32 tim,uint32 reload, void *fuc,void *param)
{
jf_timer_t *pcur;
jf_timer_t *pnew;
pnew = jf_malloc(sizeof(jf_timer_t));
if(pnew!=NULL)
{
pnew->decounter = tim;
pnew->reroad = reload;
pnew->fuc = fuc;
pnew->param = param;
pnew->next = NULL;
}
else
return -;
if(pjf_time==NULL)
{
pjf_time = pnew;
return ;
}
else
{
pcur = pjf_time;
while(pcur->next!=NULL)
{
pcur = pcur->next;
}
pcur->next = pnew;
return ;
}
}
j嵌入式f_os之定时管理的更多相关文章
- 定时管理器框架-Task.MainForm
入住博客园4年多了,一直都是看别人的博客,学习别人的知识,为各个默默无私贡献自己技术总结的朋友们顶一个:这几天突然觉得是时候加入该队列中,贡献出自己微弱的力量,努力做到每个月有不同学习总结,知识学习的 ...
- Quartz+SpringMVC实现web定时管理任务
代码地址如下:http://www.demodashi.com/demo/13978.html 使用背景 相信大家在工作过程中,肯定会遇到很多任务定时执行,修改定时任务的时间,执行一次定时任务等等.下 ...
- 【swupdate文档 一】嵌入式系统的软件管理
嵌入式系统的软件管理 嵌入式系统变得越来越复杂, 它们的软件也反映了这种复杂性的增加. 为了支持新的特性和修复,很有必要让嵌入式系统上的软件 能够以绝对可靠的方式更新. 在基于linux的系统上,我们 ...
- 嵌入式无操作系统下管理内存和队列(类UCOS II思想)
例子:存储日志,最多存128条,每条最大1MB. 内存方面 因为嵌入式不适合用动态内存,会产生碎片.这里我们用 u8 data[LOG_SIZE];开辟固定128MB的内存区,再对其分为128个1MB ...
- 基于SOC方案的嵌入式开发-远程定时设备
Soc方案实现简单的定时开关灯 http://club.gizwits.com/forum.php?mod=viewthread&tid=7787&highlight=%E5%AE%9 ...
- saltstack之定时管理
1.设置定时任务 /srv/salt/cron/ntpdate.sls /usr/sbin/ntpdate 10.31.10.3; /sbin/hwclock -w: cron.present: - ...
- Unity游戏开发中的内存管理_资料
内存是手游的硬伤——Unity游戏Mono内存管理及泄漏http://wetest.qq.com/lab/view/135.html 深入浅出再谈Unity内存泄漏http://wetest.qq.c ...
- C++服务器设计(四):超时管理机制设计
前四章介绍了系统层的设计,从这一章开始进入服务层的设计. 连接断开 在常见的服务器场景中,客户端断开连接的方式为被动关闭.即作为客户端请求完服务器的服务后,选择主动关闭同服务器的连接.在服务器的角度看 ...
- JAVA简单的网格布局管理器--JAVA基础
网格布局管理器: GridLayoutDemo.java: import java.awt.GridLayout;import javax.swing.JButton;import javax.swi ...
随机推荐
- Java的修饰符
转自:http://blog.csdn.net/manyizilin/article/details/51926230#L42 修饰符: 像其他语言一样,Java可以使用修饰符来修饰类中方法和属性.主 ...
- SQLMap Tamper Scripts Update 04/July/2016
SQLMap Tamper Scripts Update apostrophemask.py Replaces apostrophe character with its UTF-8 full wid ...
- 2016福州大学软件工程 团队Git Review
606Connected组: git地址:https://github.com/606notconnected/Beta.git 文件忽略:使用gitignore较正确 版本控制:只有1次commit ...
- .net Socket 通信简单实例(初级入门)
c/s控制台应用程序,Server.Client分别在两个项目中 服务端 using System; using System.Collections.Generic; using System.Li ...
- 把域名绑定到某个项目,以nginx服务器为例
一:登陆域名服务器平台,把域名解析到项目对应的IP上面. 二:配置nginx服务器 1./etc/nginx/conf.d/ 在服务器该目录下,添加.conf文件,如命名为:www.demo.com. ...
- Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 拒绝访问。
这几天在写一个导出word的功能,使用 Microsoft.Vbe.Interop.dll和Office.dll 在本地都可以正常运行,但是上传到服务器后就报错,如下图: 对于此问题,也在网上查了一些 ...
- Tomcat部署web项目,如何直接通过域名访问,不加项目名称
问题:下面的问题是互联网上问得比较多的,但是显然都是同一个问题. JavaWeb项目部署到tomcat服务之后设置不需要输入项目名称即可访问? Tomcat部署web项目,如何直接通过域名访问,不加项 ...
- 关于MySQL存储过程中遇到的一个错误
执行结果: 查询:)) comment '操作变量' begin set var='MySQL%Orcle%DeLL%IBM'; select replace(var,'%'... 共 行受到影响 执 ...
- 一张图告诉你,只会HTML还不够!
会了HTML和HTML5语法,你就真的会了HTML吗,来看这张图!是这本<超实用的HTML代码段>入门实例书的导览!熊孩子们,赶紧学习去吧! 如果一半以上的你都不会,必须看这本书,阿里一线 ...
- linux glances的基本使用
一.Glances介绍 glances 是一款用于 Linux.BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU.负载.内存.磁盘 I/O.网络流量.文件系统.系统温 ...