moshiwoxin 发表于 2016-3-31 16:27:43

已解决-串口数据读取

本帖最后由 moshiwoxin 于 2016-3-31 16:55 编辑

我用USB转串口线给Arduino Bluno(基于UNO)发送一串十六进制数,简单的如“31 32 33 34”,但是发现刷新有问题,发送一遍1234后,改成4321,可接收端显示的还是1234,代码如下,请各位帮忙看一看。#include <LiquidCrystal.h>
#include <SoftwareSerial.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

//int rxpin = 10;
//int txpin = 11;
SoftwareSerial myserial(10, 11); //虚拟串口 10-RX,11-TX;

int len;
char temp;
char pData;
String comdata;

int i=0,n=0;

void setup(){
Serial.begin(9600);
myserial.begin(4800);
lcd.begin(16, 2);

for (int i = 2; i < 8; i++)
{
    pinMode(i, OUTPUT);
}

//pinMode(10,INPUT);
//pinMode(11,OUTPUT);
}

void loop(){
if(myserial.available()>0){
    delay(10);
    len = myserial.available();
   
    while(myserial.available()>0){
      comdata += char(myserial.read());
      delay(10);
    }
   
    Serial.println(len);
   
    for(i=0;i<len;i++)
    {
      temp = char(comdata);
      Serial.print(temp);
      Serial.print("");
    }
   
    while(myserial.available()>0){
    pData = myserial.read();
    }   //保证将缓存中的读取完
    Serial.println("");
   
}

}


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

已搞定,没有清零comdata
页: [1]
查看完整版本: 已解决-串口数据读取