UART和串口助手的通讯发送接收数据不对

2019-07-14 17:38发布


设置靠中断后,在中断里设置接收和发送标志,并显示在串口助手上,等待为空,才发送,等待满才接收,现在怎么也 发送接收数据不对,应该从哪下手解决

unsigned char GetChar (void)          //接收数据
{
  
    unsigned char temp;
    while(!RxBufferFull);                     //RxBufferFul ,接收缓冲满标志,在中断里置1
    temp=UrtRx(pADI_UART);   
    RxBufferFull=0;
    return (temp);
   }
int fputc(int ch, FILE *f)            // printf 重定向
{      
      while(!TxBufferEmpty);
      UrtTx(pADI_UART,ch);
      TxBufferEmpty = 0;
      return (ch);   
}

   
   while (1)
   {
              
       TEMP= GetChar();
       printf("接收的数据:%x ",TEMP);
       delay(10000000);
   }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
冬冬5241
1楼-- · 2019-07-16 09:47
TOPCB 发表于 2018-9-19 21:45
发送中断只要为空就要进去,所以不要开发送中断,只开接收中断。发送用查询的方式发送即可。

已经解决的差不多了,但是串口助手发送1个字符收不到,必须发2个字符,而且不识别大小写
TOPCB
2楼-- · 2019-07-16 10:47
 精彩回答 2  元偷偷看……
冬冬5241
3楼-- · 2019-07-16 11:42
结果就这样,这图是借用摩尔吧关于072教程的
冬冬5241
4楼-- · 2019-07-16 12:21
AA和aa的十六进制一样?
冬冬5241
5楼-- · 2019-07-16 13:17
TOPCB 发表于 2018-9-19 22:14
大小写?都是16进制,大小写有区别吗?

发送AA和aa的区别是啥?
冬冬5241
6楼-- · 2019-07-16 18:01
原来如此
13.可以在字符串输入框输入您想发送的HEX数据串,数据的值从00到FF,没有任何限制.

一周热门 更多>