📄 main.c.bak
字号:
/********************************************
OCHANG (SHANGHAI) ELECTRONIC LTD
Soft Ware Version 1.0
Modify: date 2008.7
Author: andychen
Funtion Description:
QQ:729693589
MB:
E-MAIL:ochang.sh@163.com,
********************************************/
#include "includes.h"
#include "stdlib.h"
#define TaskStkLengh 64 //Define the Task0 stack length 定义用户任务0的堆栈长度
#define RESETIP (1<<24)
OS_STK TaskStk [TaskStkLengh]; //Define the Task0 stack 定义用户任务0的堆栈
OS_STK TaskStk1 [TaskStkLengh]; //Define the Task1 stack 定义用户任务1的堆栈
OS_STK TaskStk2 [TaskStkLengh];
extern volatile uint32 UART0Count;
extern volatile uint8 UART0Buffer[BUFSIZE];
extern volatile uint32 UART1Count;
extern volatile uint8 UART1Buffer[BUFSIZE];
void Task0(void *pdata); //Task0 任务0
void Task1(void *pdata); //Task1 任务1
void Task2(void *pdata);
int main (void)
{
OSInit ();
OSTaskCreate (Task0,(void *)0, &TaskStk[TaskStkLengh - 1], 2);
// OSTaskCreate (Task1,(void *)0, &TaskStk1[TaskStkLengh - 1], 3);
// OSTaskCreate (Task2,(void *)0, &TaskStk2[TaskStkLengh - 1], 10);
OSStart ();
return 0;
}
/*********************************************************************************************************
** Task0 任务0
********************************************************************************************************/
void Task0 (void *pdata)
{
pdata = pdata;
BSP_Init();
UARTInit(0, 115200); /* baud rate setting */
UARTInit(1, 115200); /* baud rate setting */
for(;;)
{
if ( UART0Count != 0 )
{
U0IER = IER_THRE | IER_RLS; /* Disable RBR */
UARTSend( 0, (uint8 *)UART0Buffer, UART0Count );
UART0Count = 0;
U0IER = IER_THRE | IER_RLS | IER_RBR; /* Re-enable RBR */
}
if ( UART1Count != 0 )
{
U1IER = IER_THRE | IER_RLS; /* Disable RBR */
UARTSend( 1, (uint8 *)UART1Buffer, UART1Count );
UART1Count = 0;
U1IER = IER_THRE | IER_RLS | IER_RBR; /* Re-enable RBR */
}
// if(!(FIO1PIN&RESETIP)==1)
// {
// continue; //跳出本次循环 区别与break 跳出循环圈
// }
// OSTimeDly(OS_TICKS_PER_SEC/50); //按键去抖
// if(!(FIO1PIN&RESETIP)==1)
// {
// continue;
// }
// OSTaskCreate (Task1,(void *)0, &TaskStk1[TaskStkLengh - 1], 3);
if(!(FIO1PIN&RESETIP)!=1)
{
OSTimeDly(OS_TICKS_PER_SEC/50); //按键去抖 20ms
if(!(FIO1PIN&RESETIP)!=1)
{
OSTaskCreate (Task2,(void *)0, &TaskStk2[TaskStkLengh - 1], 3);
}
}
if(!(FIO1PIN&RESETIP)==1)
{
OSTimeDly(OS_TICKS_PER_SEC/50); //按键去抖 20ms
if(!(FIO1PIN&RESETIP)==1)
{
OSTaskCreate (Task1,(void *)0, &TaskStk1[TaskStkLengh - 1], 4);
}
}
}
}
/*********************************************************************************************************
** Task1 任务1
********************************************************************************************************/
void Task1 (void *pdata)
{
pdata = pdata;
// for(;;)
// {
FIO2SET|=0x0000000F;
FIO2CLR|=0X000000F0;
OSTimeDly(OS_TICKS_PER_SEC); //延时1S
FIO2SET|=0x000000F0;
FIO2CLR|=0X0000000F;
OSTimeDly(OS_TICKS_PER_SEC);
OSTaskDel(OS_PRIO_SELF); //删除任务自身
// }
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
void Task2 (void *pdata)
{
pdata = pdata;
// for(;;)
// {
FIO2SET|=0x000000FF;
OSTimeDly(OS_TICKS_PER_SEC);
FIO2CLR|=0X000000FF;
OSTimeDly(OS_TICKS_PER_SEC);
OSTaskDel(OS_PRIO_SELF); //删除任务自身
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -