📄 main.c
字号:
#include <avr/io.h>
#include "ucos_ii.h"
#define F_CPU 7372800
OS_STK Task1Stk[OS_USER_TASK_STK_SIZE]={0};
OS_STK Task2Stk[OS_USER_TASK_STK_SIZE]={0};
OS_STK Task3Stk[OS_USER_TASK_STK_SIZE]={0};
OS_STK Task4Stk[OS_USER_TASK_STK_SIZE]={0};
OS_STK Task5Stk[OS_USER_TASK_STK_SIZE]={0};
void Task1(void *pdata)
{
pdata=pdata;
TIMSK&=0xFC;
#if OS_TICKS_PER_SEC <= (F_CPU/1024/256)
#error "OS_TICKS_PER_SEC < (F_CPU/1024/256) "
#endif
OCR0=F_CPU/1024/OS_TICKS_PER_SEC;
TCNT0=0;
TCCR0=(1<<WGM01)|0x05;
TIMSK|=2;
DDRG|=0x01;
while(1)
{
OSTimeDly(20);
PORTG^=0x01;
}
}
void Task2(void *pdata)
{
pdata=pdata;
DDRG |= 0x02;
while(1)
{
OSTimeDly(40);
PORTG^=0x02;
}
}
void Task3(void *pdata)
{
pdata=pdata;
DDRG |= 0x04;
while(1)
{
OSTimeDly(80);
PORTG^=0x04;
}
}
void Task4(void *pdata)
{
pdata=pdata;
DDRG |= 0x08;
while(1)
{
OSTimeDly(160);
PORTG^=0x08;
}
}
void Task5(void *pdata)
{
pdata=pdata;
DDRG |= 0x10;
while(1)
{
OSTimeDly(320);
PORTG^=0x10;
}
}
int main(void)
{
OSInit();
OSTaskCreate(Task1,0,&Task1Stk[OS_USER_TASK_STK_SIZE-1],1);
OSTaskCreate(Task2,0,&Task2Stk[OS_USER_TASK_STK_SIZE-1],2);
OSTaskCreate(Task3,0,&Task3Stk[OS_USER_TASK_STK_SIZE-1],3);
OSTaskCreate(Task4,0,&Task4Stk[OS_USER_TASK_STK_SIZE-1],4);
OSTaskCreate(Task5,0,&Task5Stk[OS_USER_TASK_STK_SIZE-1],5);
OSStart();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -