普誠創智(成都)科技有限公司-论坛

标题: 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