时间触发和状态机思想的嵌入式系统 分析都给大家传上去了
来源:互联网 发布:slack mac下载 编辑:程序博客网 时间:2024/04/29 19:58
时间触发的嵌入式系统 :
我先给大家了一个程序:这个程序是在PC机上测试过,大家给点意见!
#include "stdio.h" #define TASKmax 5
typedef unsigned long u32;
typedef unsigned int u16;
typedef unsigned char u8;
struct Task
{
void (*Ptask)(void);
u8 delay;
u8 period;
u8 Runme;
};
u8 Task_G;
u8 Task1_time= 10;//10ms
u8 Task2_time= 20;
void task1(void)
{
int i=0;for(i=0;i<2;i++)
{
printf("1\r\n");
}
}
void task2(void )
{
char j=0;for(j=0;j<2;j++)
{
printf("2\r\n");
};
}
u8 TASK_dele(u8 cn){if(task[cn].Ptask ==0)
return 0;
task[cn].Ptask= 0x00;
task[cn].delay= 0;task[cn].period= 0;
task[cn].Runme= 0;
return 1;
}
void Task_tr(void ){
u8 taskIndex;
for(taskIndex=0;taskIndex< TASKmax;taskIndex++)
{
if(task[taskIndex].Runme>0)
{
(*task[taskIndex].Ptask)();
task[taskIndex].Runme--;
}
if(task[taskIndex].period==0)
TASK_dele(taskIndex);
}
}
u8 task_add(void (*function)(),u8 delay,u8 period)
{
u8 dex=0;
while((task[dex].Ptask!=0) && (dex< TASKmax)) dex++;
if(dex==TASKmax)
return 0;
task[dex].Ptask= function;
task[dex].delay= delay;task[dex].period= period;
task[dex].Runme= 1;
return 1;
}
void Task_ref(void )//任务控制{
u8 Task_tran;
Task_tran=Task_G;
switch(Task_tran)
{
case task11: //时间判断
// break;
case task12: //时间判断
//如果到了就到下一个状态
break;
default:break;
}}
void main()
{
//初始化定时器 控制标志位//初始化须要的变量
//增加任务
//while(1);
task_add(task1,10,1);
task_add(task2,30,2);
//Task_tr();定时器 控制标志位
}//以上是系统和基本思想,可以根据自己的程序更改。
http://bbs.eeworld.com.cn/thread-67442-1-1.html
- 时间触发和状态机思想的嵌入式系统 分析都给大家传上去了
- 时间触发和状态机思想的嵌入式系统
- 改进型时间触发嵌入式系统编程模式
- 改进型时间触发嵌入式系统编程模式
- 大数据给嵌入式系统带来新的发展机遇
- 时间触发系统调度器思想LED闪烁简例
- 嵌入式常用算法:时间触发下的嵌入式软件设计模式
- 存储器问题 ---- 时间触发嵌入式系统设计模式
- 换个角度来嵌入式编程 对事件和时间触发的改进
- 基于atmel mega88编写了一个简单的时间触发系统单片机框架程序
- 关于状态机的思想问题
- 整理:状态机的编程思想
- 给嵌入式工程师的十大建议
- ERP系统的核心功能和管理思想分析
- 状态机系统在嵌入式软件中的地位
- 嵌入式系统中的状态机设计心得
- MIT 做了一个全自动的大数据分析系统
- 给百度知道回答的问题,代码长了点贴不上去,借个地方贴
- 单调递增子序列(二)(南阳oj214)
- Firebug入门指南
- c语言教程:fopen文件读写函数
- jenkins+maven+junit构建自动化测试,整合junit xml生成直观的测试报告
- java调用CCB的XAI的入站服务
- 时间触发和状态机思想的嵌入式系统 分析都给大家传上去了
- Cocos2d-x3.2总结build.native.py编译问题,Eclipse导入不了
- JSoncpp fatal error C1083: 无法打开编译器生成的文件:“../../build/vs71/release/lib_json\json_value.asm”: 解决方案
- prototype学习小记
- 多线程环境下不安全的消息队列存取---线程不同步会造成隐患
- Junit+Selenium+Maven+SVN+Eclipse+AutoFrame全自动化测试实践实例(一)
- 字符数组与字符指针
- 关于OC多态与C++的不同点
- Junit+Selenium+Maven+SVN+Eclipse+AutoFrame全自动化测试实践实例(二)