普誠創智(成都)科技有限公司-论坛
标题:
UART从PC连续接收多组0~9的数字字符,并将字符回传给PC
[打印本页]
作者:
James_Jiang
时间:
2017-4-1 16:56
标题:
UART从PC连续接收多组0~9的数字字符,并将字符回传给PC
PC 到串口数据为:
87 563 7685 9297
123 57663 0
1
35455
457
串口回传PC数据为:
87 563 7685 9297 123 57663 0 1 35455 457
串口终端服务函数的源码如下:
void UART0_IRQHandler(void) //irq 4
{
static uCHAR num=0;
static uCHAR rxdbuf[10]={0};
uCHAR tdata= 0,cnt=0;
//------------------------------------------------
tdata = pUART0Ctrl->UART_RBR_THR_DLL;
if(tdata >= 0x30 && tdata <= 0x39) // 0~9数值字符
{
rxdbuf[num++] = tdata;
}
else
{
if(tdata == 0x20 || tdata == 0x0D || tdata == 0x0A) // 0x20 空格 // 0x0D 0x0A 回车换行
{
if(num > 0)
{
for(cnt=0;cnt < num;cnt++)
{
UARTByteWr(UART0,rxdbuf[cnt]);
}
UARTByteWr(UART0,0x20); // 空格
num = 0;
}
}
}
//------------------------------------------------------
pUART0Ctrl->UART_ISC = pUART0Ctrl->UART_RIS;
}
欢迎光临 普誠創智(成都)科技有限公司-论坛 (https://princeton.com.cn/)
Powered by Discuz! X3.2