已解决-串口数据读取
本帖最后由 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("");
}
}
已搞定,没有清零comdata
页:
[1]