📄 test1.c
字号:
#include "includes.h"
OS_STK TestTaskStk[100];
OS_STK Task_LED_Stack[512];
void Task_LED( void *Id ) ;
#define Task_LED_PRIO 6
void TestTask(void *pdata);
void Led_Set(int LedStatus);
int main(void)
{
OSInit();
OSTaskCreate(TestTask,(void *)0,&TestTaskStk[99],4);
OSStart();
Uart0Print("the uCOS-II is running!\n");
}
void TestTask(void *pdata)
{
INT32U i=1;
pdata=pdata;
OSTaskCreate( Task_LED, (void *)0, (OS_STK *)&Task_LED_Stack[511], Task_LED_PRIO ) ;
Init_Uart0(); //初始化串口0
Init_Timer4();
//LED初始化
rGPFCON=(rGPFCON|0xFF00)&0x55FF;//GPF4--GPF7设置为output
while(1)
{
Uart0Print("Test\n");
OSTimeDly(2);
i++;
Uart0Print("i=%d\n",i);
}
}
/******************************************************************************
【功能说明】本任务使LED来回闪烁
******************************************************************************/
void Task_LED( void *Id )
{
for(;;)
{
Led_Set( 0x08 ) ; //
OSTimeDly( 100 ); //将任务延时若干时钟节拍
Led_Set( 0x04 ) ; //
OSTimeDly( 100 ); //将任务延时若干时钟节拍
Led_Set( 0x02 ) ; //
OSTimeDly( 100 ); //将任务延时若干时钟节拍
Led_Set( 0x01 ) ; //
OSTimeDly( 100 ); //将任务延时若干时钟节拍
Led_Set( 0x00 ) ; //
OSTimeDly( 30 ); //将任务延时若干时钟节拍
}
}
/****************************************************************************
【功能说明】四个LED 点亮/熄灭状态设置(LedStatus低四位电平高低对应着四个LED亮/熄)
****************************************************************************/
void Led_Set(int LedStatus)
{
if((LedStatus&0x01)==0x01) //D3
rGPFDAT &= ~(1<<4);//GPF4 output 0
else
rGPFDAT |= (1<<4); //GPF4 output 1
if((LedStatus&0x02)==0x02) //D4
rGPFDAT &= ~(1<<5);//GPF5 output 0
else
rGPFDAT |= (1<<5); //GPF5 output 1
if((LedStatus&0x04)==0x04) //D5
rGPFDAT &= ~(1<<6);//GPF4 output 0
else
rGPFDAT |= (1<<6); //GPF4 output 1
if((LedStatus&0x08)==0x08) //D6
rGPFDAT &= ~(1<<7);//GPF4 output 0
else
rGPFDAT |= (1<<7); //GPF4 output 1
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -