uCOS-II任务建立示例

2024-02-26 17:48
文章标签 ii 示例 建立 任务 ucos

本文主要是介绍uCOS-II任务建立示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include "config.h"
#include "stdlib.h"


#define          LED1        (1<<18)                    // P1.18控制LED1
#define          LED2        (1<<19)                    // P1.19控制LED2

#define TaskStkLengh 64    // 定义用户任务的堆栈长度

OS_STK TaskStartStk[TaskStkLengh];   // 定义用户任务0的堆栈
OS_STK TaskLED1Stk[TaskStkLengh];
OS_STK TaskLED2Stk[TaskStkLengh];

void TaskStart(void *pdata);    //Task0 任务0
void TaskLED1(void *pdata);   
void TaskLED2(void *pdata);   

int main (void)
{
OSInit ();                          
OSTaskCreate (TaskStart,(void *)0, &TaskStartStk[TaskStkLengh - 1], 0);  
OSStart ();
return 0;               
}

void TaskStart(void *pdata)
{
pdata = pdata;
TargetInit ();
OSTaskCreate(TaskLED1,(void *)0, &TaskLED1Stk[TaskStkLengh - 1], 1);
OSTaskCreate(TaskLED2,(void *)0, &TaskLED2Stk[TaskStkLengh - 1], 2);
while(1)
{
   OSTimeDlyHMSM(0,0,10,0);
}
}


void TaskLED1(void *pdata)
{
pdata = pdata;
PINSEL2 = PINSEL2 & (~0x08);                                    // P1[25:16]选择GPIO
IO1DIR |= LED1;                                                 // 设置LED1控制口输出
    IO1SET = LED1;
while(1)
{
   IO1CLR = LED1;
   OSTimeDly(OS_TICKS_PER_SEC / 2);
   IO1SET = LED1;
        OSTimeDly(OS_TICKS_PER_SEC / 2);
}
 

void TaskLED2(void *pdata)
{
pdata = pdata;
PINSEL2 = PINSEL2 & (~0x08);                                    // P1[25:16]选择GPIO
IO1DIR |= LED2;                                                // 设置LED1控制口输出
    IO1SET = LED2;
while(1)
{
   IO1CLR = LED2;
   OSTimeDly(OS_TICKS_PER_SEC);
   IO1SET = LED2;
        OSTimeDly(OS_TICKS_PER_SEC);   
}
}

这篇关于uCOS-II任务建立示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/749656

相关文章

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

maven中的maven-antrun-plugin插件示例详解

《maven中的maven-antrun-plugin插件示例详解》maven-antrun-plugin是Maven生态中一个强大的工具,尤其适合需要复用Ant脚本或实现复杂构建逻辑的场景... 目录1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题

MySQL 添加索引5种方式示例详解(实用sql代码)

《MySQL添加索引5种方式示例详解(实用sql代码)》在MySQL数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中,下面给大家分享MySQL添加索引5种方式示例详解(实用sql代码),... 在mysql数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中。索引可以在创建表时定义,也可

Java集成Onlyoffice的示例代码及场景分析

《Java集成Onlyoffice的示例代码及场景分析》:本文主要介绍Java集成Onlyoffice的示例代码及场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 需求场景:实现文档的在线编辑,团队协作总结:两个接口 + 前端页面 + 配置项接口1:一个接口,将o

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区