📄 serial_rcv.c
字号:
#include "typedef.h"
#include "nucleus.h"
#include "system.h"
#include "uart.h"
#include "inforec.h"
#include "dev_mng.h"
#include "serial_rcv.h"
/* 串口任务 */
static BYTE STACK_SERIAL[0x2000];
static NU_TASK nuTask_Serial;
/* 串口设置 */
static BYTE uart_port = UART_PORT_A; //UART_PORT_B为RS485//定义是为了COM板,小盒子只有定义A口为RS232通讯修改 2002.1.19.朱建红
HANDLE hand;
BOOL MST_Initialize()
{
STATUS status;
T_UART_CONFIG config;
if (uart_port == UART_PORT_A)
{
config =g_sys_config.uart_a;
}
else if (uart_port == UART_PORT_B)
{
config =g_sys_config.uart_b;
}
else
{
return FALSE;
}
config.pcb =check_packet;
if ( !UART_Open(uart_port, &config) )
{
return FALSE;
}
status=NU_Create_Task(&nuTask_Serial,"TASK_Serial",Task_Serial,0,NU_NULL,
STACK_SERIAL,0x2000,10,0,NU_PREEMPT,NU_START);
return (status);
}
/* module's task */
VOID Task_Serial(UNSIGNED argc, VOID *argv)
{
BYTE recv_buf[256];
hand = INF_Open_Database();
LoopTask:
if (UART_Read(uart_port, recv_buf, UART_WAIT_INF) != 0)
{
NU_Sleep(6); /* 5ms per timer tick, wait 30ms */
Serial_Interpret(recv_buf,uart_port);
}
goto LoopTask;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -