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

 找回密码
 立即注册
搜索
热搜: PT32 BLDCM Motor USB
查看: 26810|回复: 0

UART从PC连续接收多组0~9的数字字符,并将字符回传给PC

[复制链接]

174

主题

198

帖子

1610

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1610
发表于 2017-4-1 16:56:14 | 显示全部楼层 |阅读模式
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;
}











回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

蜀ICP备16008743号-1|普诚科技公司|小黑屋|普誠創智(成都)科技有限公司-论坛  

GMT+8, 2024-3-29 18:33 , Processed in 0.206363 second(s), 25 queries .

快速回复 返回顶部 返回列表