本帖最后由 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[i]);
- Serial.print(temp);
- Serial.print("");
- }
-
- while(myserial.available()>0){
- pData = myserial.read();
- } //保证将缓存中的读取完
- Serial.println("");
-
- }
-
- }
复制代码
|