📄 main.c
字号:
#include <avr/io.h>
#include "ucos_ii.h"
#include "atmega128.h"
#define maxzhan 74
OS_STK TestTaskStk0[maxzhan];
OS_STK TestTaskStk1[maxzhan];
OS_STK TestTaskStk2[maxzhan];
OS_STK TestTaskStk3[maxzhan];
void TestTask0(void* pdata);
void TestTask1(void* pdata);
void TestTask2(void* pdata);
void TestTask3(void* pdata);
int main(void)
{
DDRF=0x0F;/*PORTC口设置为输出*/
PORTF=0x0F;/*PORTC口全部置为高电平*/
OSInit();
OSTaskCreate(TestTask0,(void*)0,&TestTaskStk0[maxzhan-1],0);
OSTaskCreate(TestTask1,(void*)0,&TestTaskStk1[maxzhan-1],1);
OSTaskCreate(TestTask2,(void*)0,&TestTaskStk2[maxzhan-1],2);
OSTaskCreate(TestTask3,(void*)0,&TestTaskStk3[maxzhan-1],3);
OSStart();
}
void TestTask0(void* pdata)
{
INT8U LED=0x01;
pdata=pdata;
init_timer0();/*初始化时钟节拍中断*/
while(1)
{
PORTF^=LED;
OSTimeDlyHMSM(0,0,1,0);/*PA0口电平每隔1秒改变一次*/
}
}
void TestTask1(void* pdata)
{
INT8U LED=0x02;
pdata=pdata;
while(1)
{
PORTF^=LED;
OSTimeDlyHMSM(0,0,2,0);/*PC0口电平每隔3秒改变一次*/
}
}
void TestTask2(void* pdata)
{
INT8U LED=0x04;
pdata=pdata;
while(1)
{
PORTF^=LED;
OSTimeDlyHMSM(0,0,3,0);/*PC0口电平每隔3秒改变一次*/
}
}
void TestTask3(void* pdata)
{
INT8U LED=0x08;
pdata=pdata;
while(1)
{
PORTF^=LED;
OSTimeDlyHMSM(0,0,4,0);/*PC0口电平每隔3秒改变一次*/
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -