微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 浅谈单片机应用程序架构

浅谈单片机应用程序架构

时间:11-21 来源:互联网 点击:

执行时间,在编写任务时,尽量让任务尽快执行完成。。。。。。。。。

3.操作系统

操作系统的本身是一个比较复杂的东西,任务的管理,执行本事并不需要我们去了解。但是光是移植都是一件非常困难的是,虽然有人说过“你如果使用过系统,将不会在去使用前后台程序”。但是真正能使用操作系统的人并不多,不仅是因为系统的使用本身很复杂,而且还需要购买许可证(ucos也不例外,如果商用的话)。

这里本人并不想过多的介绍操作系统本身,因为不是一两句话能过说明白的,下面列出UCOS下编写应该程序的模型。大家可以对比一下,这三种方式下的各自的优缺点。

复制内容到剪贴板

代码:

int main(void)
{
OSInit(); // 初始化uCOS-II

OSTaskCreate((void (*) (void *)) TaskStart, // 任务指针
(void *) 0, // 参数
(OS_STK *) &TaskStartStk[TASK_START_STK_SIZE - 1], // 堆栈指针
(INT8U ) TASK_START_PRIO); // 任务优先级

OSStart(); // 启动多任务环境

return (0);
}

复制内容到剪贴板

代码:

void TaskStart(void* p_arg)
{
OS_CPU_SysTickInit(); // Initialize the SysTick.

#if (OS_TASK_STAT_EN > 0)
OSStatInit(); // 这东西可以测量CPU使用量
#endif

OSTaskCreate((void (*) (void *)) TaskLed,// 任务1
(void *) 0, // 不带参数
(OS_STK *) &TaskLedStk[TASK_LED_STK_SIZE - 1], // 堆栈指针
(INT8U ) TASK_LED_PRIO); // 优先级

// Here the task of creating your

while (1)
{
OSTimeDlyHMSM(0, 0, 0, 100);
}
}

不难看出,时间片轮询法优势还是比较大的,即由顺序执行法的优点,也有操作系统的优点。结构清晰,简单,非常容易理解。。。。。。。。。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top