📄 main.c
字号:
/**************************************************************************
工程名称:LPC11xx_ucos_ii
功 能: Cortex-M0上跑V2.86版的ucosii
编译环境: MDKV4.12
时 钟: 外部12Mhz
日 期: 11/04/25
作 者: 懒猫爱飞
修 改:null
**************************************************************************/
#include "LPC11xx.h" /* LPC11xx definitions */
#include "gpio.h"
#include "config.h"
#include "device_init.h"
#include "ucos_ii.h"
//每一个任务要有一个堆栈
OS_STK TaskStartStk1[MaxStkSize]; //定义任务堆栈大小
OS_STK TaskStartStk2[MaxStkSize]; //定义任务堆栈大小
/************************************************************************/
/* 函数声明 */
/************************************************************************/
void TaskLed(void *nouse);
void myTask(void *nouse);
/**************************************************************************
// 函数名称 :int main (void)
// 函数功能 : 主函数
// 入口参数 : 无
// 出口参数 : 无
// 备 注 :无
**************************************************************************/
int main (void)
{
CPU_IntDis(); //禁止所有中断
DeviceInit(); //初始化设备
OSInit(); //初始化OS
OSTaskCreate(TaskLed, (void *)0, &TaskStartStk1[MaxStkSize-1],1); //创建Led显示任务
OSTaskCreate(myTask, (void *)0, &TaskStartStk2[MaxStkSize-1],2);
OSStart(); //启动ucos ii 永远不返回
}
/**************************************************************************
// 函数名称 :void TaskLed(void *nouse)
// 函数功能 : led触发任务
// 入口参数 : void *nouse
// 出口参数 : 无
// 备 注 :无
**************************************************************************/
void TaskLed(void *nouse)
{
nouse=nouse; //防止编译器警告
CPU_IntEn(); //开时钟节拍中断
while(1)
{
LED_TOG; //板子上与P1口的第9脚连接的灯触发闪烁
OSTimeDlyHMSM(0,0,0,500); //每500ms触发一次
}
}
/**************************************************************************
// 函数名称 :void myTask(void *nouse)
// 函数功能 : led触发任务
// 入口参数 : void *nouse
// 出口参数 : 无
// 备 注 :无
**************************************************************************/
void myTask(void *nouse)
{
nouse=nouse; //防止编译器警告
CPU_IntEn(); //开时钟节拍中断
GPIOSetDir(1,8,1); //设置P1.8为输出口
GPIOSetValue(1,8,1); //初始化P1.8为高电平
while(1)
{
GPIO_TOGGLE(1,8); //板子上与P1口的第8脚连接的灯触发闪烁
OSTimeDlyHMSM(0,0,0,100); //每100ms触发一次
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -