5717浏览
查看: 5717|回复: 1

[求助] 已解决-串口数据读取

[复制链接]
本帖最后由 moshiwoxin 于 2016-3-31 16:55 编辑

我用USB转串口线给Arduino Bluno(基于UNO)发送一串十六进制数,简单的如“31 32 33 34”,但是发现刷新有问题,发送一遍1234后,改成4321,可接收端显示的还是1234,代码如下,请各位帮忙看一看。
  1. #include <LiquidCrystal.h>
  2. #include <SoftwareSerial.h>
  3. LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
  4. //int rxpin = 10;
  5. //int txpin = 11;
  6. SoftwareSerial myserial(10, 11); //虚拟串口 10-RX,11-TX;
  7. int len;
  8. char temp;
  9. char pData;
  10. String comdata;
  11. int i=0,n=0;
  12. void setup(){
  13.   Serial.begin(9600);
  14.   myserial.begin(4800);
  15.   lcd.begin(16, 2);
  16.   for (int i = 2; i < 8; i++)
  17.   {
  18.     pinMode(i, OUTPUT);
  19.   }
  20.   //pinMode(10,INPUT);
  21.   //pinMode(11,OUTPUT);
  22. }
  23. void loop(){
  24.   if(myserial.available()>0){
  25.     delay(10);
  26.     len = myserial.available();
  27.    
  28.     while(myserial.available()>0){
  29.       comdata += char(myserial.read());
  30.       delay(10);
  31.     }
  32.    
  33.     Serial.println(len);
  34.    
  35.     for(i=0;i<len;i++)
  36.     {
  37.       temp = char(comdata[i]);
  38.       Serial.print(temp);
  39.       Serial.print("");
  40.     }
  41.    
  42.     while(myserial.available()>0){
  43.     pData = myserial.read();
  44.     }   //保证将缓存中的读取完
  45.     Serial.println("");
  46.    
  47.   }
  48.   
  49. }
复制代码


moshiwoxin  见习技师
 楼主|

发表于 2016-3-31 16:52:53

已搞定,没有清零comdata
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail