📄 main.c
字号:
&TASK1_STACK[0],
TASK1_STACK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
OSTaskCreateExt(TASK2,
(void *)0,
&TASK2_STACK[TASK2_STACK_SIZE-1],
TASK2_PRIO,
TASK2_ID,
&TASK2_STACK[0],
TASK2_STACK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
OSTaskCreateExt(TASK3,
(void *)0,
&TASK3_STACK[TASK3_STACK_SIZE-1],
TASK3_PRIO,
TASK3_ID,
&TASK3_STACK[0],
TASK3_STACK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
OSTaskCreateExt(TASK4,
(void *)0,
&TASK4_STACK[TASK4_STACK_SIZE-1],
TASK4_PRIO,
TASK4_ID,
&TASK4_STACK[0],
TASK4_STACK_SIZE,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
while(1) {
OSTimeDly(OS_TICKS_PER_SEC);
}
}
/*********************************************************************************************************
** Function name: TASK1
** Descriptions: UART0的任务
** Input: 无
** Output: 无
*********************************************************************************************************/
OS_EVENT *poeUart0ReviceSem; /* 定义信号量poeUart0ReviceSem */
uint8 uiReviceBuf0[128]; /* 接收数据缓冲区 */
void TASK1 (void *pdata)
{
INT8U iUart0Err;
uint32 uiNum;
pdata = pdata;
poeUart0ReviceSem = OSSemCreate(1); /* 创建信号量 */
while(1)
{
OSSemPend(poeUart0ReviceSem, 0, &iUart0Err); /* 请求信号量 */
uiNum = uartFifoStatus(UART0, RX_FIFO); /* 查看收到多少数据 */
uartRead(UART0, uiReviceBuf0, uiNum, NULL); /* 读数据 */
uartWrite(UART0, uiReviceBuf0, uiNum, NULL); /* 把读到的数据发回去 */
}
}
/*********************************************************************************************************
** Function name: TASK2
** Descriptions: UART1的任务
** Input: 无
** Output: 无
*********************************************************************************************************/
OS_EVENT *poeUart1ReviceSem;
uint8 uiReviceBuf1[128]; /* 接收数据缓冲区 */
void TASK2 (void *pdata)
{
INT8U iUart1Err;
uint32 uiNum;
pdata = pdata;
poeUart1ReviceSem = OSSemCreate(1); /* 创建信号量 */
while(1)
{
OSSemPend(poeUart1ReviceSem, 0, &iUart1Err); /* 请求信号量 */
uiNum = uartFifoStatus(UART1, RX_FIFO); /* 查看收到多少数据 */
uartRead(UART1, uiReviceBuf1, uiNum, NULL); /* 读数据 */
uartWrite(UART1, uiReviceBuf1, uiNum, NULL); /* 把读到的数据发回去 */
}
}
/*********************************************************************************************************
** Function name: TASK3
** Descriptions: UART2的任务
** Input: 无
** Output: 无
*********************************************************************************************************/
OS_EVENT *poeUart2ReviceSem;
uint8 uiReviceBuf2[128]; /* 接收数据缓冲区 */
void TASK3 (void *pdata)
{
INT8U iUart2Err;
uint32 uiNum;
pdata = pdata;
poeUart2ReviceSem = OSSemCreate(1); /* 创建信号量 */
while(1)
{
OSSemPend(poeUart2ReviceSem, 0, &iUart2Err); /* 请求信号量 */
uiNum = uartFifoStatus(UART2, RX_FIFO); /* 查看收到多少数据 */
uartRead(UART2, uiReviceBuf2, uiNum, NULL); /* 读数据 */
uartWrite(UART2, uiReviceBuf2, uiNum, NULL); /* 把读到的数据发回去 */
}
}
/*********************************************************************************************************
** Function name: TASK4
** Descriptions: UART3的任务
** Input: 无
** Output: 无
*********************************************************************************************************/
OS_EVENT *poeUart3ReviceSem;
uint8 uiReviceBuf3[128]; /* 接收数据缓冲区 */
void TASK4 (void *pdata)
{
INT8U iUart3Err;
uint32 uiNum;
pdata = pdata;
poeUart3ReviceSem = OSSemCreate(1); /* 创建信号量 */
while(1)
{
OSSemPend(poeUart3ReviceSem, 0, &iUart3Err); /* 请求信号量 */
uiNum = uartFifoStatus(UART3, RX_FIFO); /* 查看收到多少数据 */
uartRead (UART3, uiReviceBuf3, uiNum, NULL); /* 读数据 */
uartWrite (UART3, uiReviceBuf3, uiNum, NULL); /* 把读到的数据发回去 */
}
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -