打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
uCOSII应用代码的编写

http://blog.163.com/zhaojun_xf/blog/static/3005058020101148224136/

当移植好OS后,后面的事情就是编写任务和底层的驱动代码了。为了能更好的编写应用代码,推荐阅读《基于嵌入式实时操作系统的程序设计技术》一书,此书讲解了在uCOS-II下代码的编写。下面就谈谈应用代码编写下应该注意的东西。

 

   编写用户代码的步骤如下:

①.定义任务堆栈的长度。   

#define Task0StkLengh   64

②.定义任务的堆栈。       

OS_STK  Task0Stk[Task0StkLengh];

③.声明任务函数。       

    void Task0(void *pdata);

④.在适当的地方创建任务。

    OSTaskCreate(Task0, (void *)0, &Task0Stk[Task0StkLengh-1], 2);

⑤.编写任务代码。

        void Task0(void *pdata)

{

    While (1)

    {

        ……

}

}

 

任务建立

 

OSTaskCreate (void(*task)(void *pd), // 指向任务的指针

            void *pdata,          // 任务开始执行时,传递给任务的参数的指针

            OS_STK *ptos,         // 分配给任务的堆栈的栈顶指针

            INT8U prio           // 分配给任务的优先级

            );

 

任务格式,必须是下面两种中的一种:

① void YourTask (void *pdata)

    for (;;) { 
        /* 用户代码 */ 
        调用μC/OS-Ⅱ的服务例程之一:
        OSMboxPend();
        OSQPend();
        OSSemPend();
        OSTaskDel(OS_PRIO_SELF);
        OSTaskSuspend(OS_PRIO_SELF); 
        OSTimeDly();
        OSTimeDlyHMSM();

        OSTaskDel(OS_PRIO_SELF);
        /* 用户代码 */
    }
}

② void YourTask (void *pdata)
{

     /* 用户代码 */
        OSTaskDel(OS_PRIO_SELF);

}

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
OSTaskCreate()
ucos ii 46个系统API函数解析 .
1.uCOS
UCOSIII任务管理I
转:uC/OS-II源码分析(二) 三个例子
UCOS操作系统堆栈浅谈
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服