微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > xc886和电脑的串口调试小助手485通信问题

xc886和电脑的串口调试小助手485通信问题

时间:10-02 整理:3721RD 点击:
本人写了个小程序(xc886是基于c51内核的),UART用的是模式1(波特率可变,为了和串口调试小助手通信,设置成9600baud;用的是查询法;选的引脚,初始化等基本东西没错),其中主程序while(1)中内容如下:
  while(1)
  {
  // USER CODE BEGIN
  delay(10);
   while(!RI);     
   receive=UART_ubGetData9();
   UART_vSendData9(receive+3);
   while(!TI);
  // USER CODE END
  }
结果在串口调试小助手向单片机发送数据,例如receive=04,按道理串口调试小程序显示窗口会出现receive+3=07,但是并不是每次发送都能顺利接收到数据07(串口调试小程序设置没问题),即有时候发送了04,没显示07,好像数据丢失。但是当我把程序改成下面的,就33 44 07 33 44 07...显示,即发送几次04,就显示几次33 44 07,不会发生上述的发送数据丢失现象。这是不是说明硬件没问题?那这是为什么?

  // USER CODE BEGIN
  delay(10);
  UART_vSendData9(0X33);
  while(!TI);
  UART_vSendData9(0X44);
  while(!TI);  
   while(!RI);     
   receive=UART_ubGetData9();
   UART_vSendData9(receive+3);
   while(!TI);
  // USER CODE END
  }

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top