📄 main.c
字号:
/* 本例程uCOS-II 版本为2.51*/ #include "includes.h"
sbit LED1=P1^3;
sbit LED2=P1^7;
OS_STK Task1Stk[MaxStkSize+1];
OS_STK Task2Stk[MaxStkSize+1];
OS_STK Task3Stk[MaxStkSize+1];
OS_EVENT* FirstSem;
INT8U err;void Task1(void *ppdata) reentrant{
ppdata=ppdata;
ET0=1; //开时钟节拍中断-------根据杨屹文章更改 for(;;) {
LED1=~LED1; OSTimeDly(OS_TICKS_PER_SEC/2);
OSSemPost(FirstSem); } }
void Task2(void *ppdata) reentrant{
ppdata=ppdata; for(;;) {
OSSemPend(FirstSem,0,&err);
LED2=~LED2; } }
void Task3(void *ppdata) reentrant{
ppdata=ppdata; for(;;) {
OSTimeDlyHMSM(0,0,10,0);
PCA_PWM0=0x00;
CCAP0H=0x40;
OSTimeDly(OS_TICKS_PER_SEC/4);
PCA_PWM0=0x03; } }void main(void){ OSInit(); InitHardware();
FirstSem=OSSemCreate(0);//定义一个信号量
OSTaskCreate(Task1,(void*)0,&Task1Stk[0],0);
OSTaskCreate(Task2,(void*)0,&Task2Stk[0],1);
OSTaskCreate(Task3,(void*)0,&Task3Stk[0],2);
OSStart();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -