C++ 没有来自我的ddwrt路由器的数据

C++ 没有来自我的ddwrt路由器的数据,c++,c,linux,shell,C++,C,Linux,Shell,我有cisco e900路由器,带有dd wrt固件。我将其连接到arduino uno-r3+LCD 16*2,以显示状态和来自该路由器的一些数据/我正在两侧使用TX-RX端口 问题是:没有数据 arduino液晶显示>“dd wrt-供电思科e900” 我的代码中有错误吗 这里是arduino部分: // include the library code: #include <Wire.h> #include <LiquidCrystal.h> LiquidCryst

我有cisco e900路由器,带有dd wrt固件。我将其连接到arduino uno-r3+LCD 16*2,以显示状态和来自该路由器的一些数据/我正在两侧使用TX-RX端口

问题是:没有数据

arduino液晶显示>“dd wrt-供电思科e900”

我的代码中有错误吗

这里是arduino部分:

// include the library code:
#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int led1 = 8;
float raw;
byte bl[8] = {
  B00000,
  B00000,
  B00000,
  B00000,
  B00000,
  B00000,
  B00000,
};
void setup(){
   pinMode(led1, OUTPUT);
   lcd.begin(16, 2);
  Serial.begin(9600);
  lcd.createChar(1, bl);
  lcd.createChar(2, bl);
  lcd.createChar(3, bl);
  lcd.createChar(4, bl);
  lcd.setCursor(0,0);
  lcd.print("dd-wrt - powered");
  lcd.setCursor(0,1);
  lcd.print("cisco e900");
}
void loop()
{
  int charcount;
  boolean secondline;
  if (Serial.available()) {
    delay(200);
    lcd.clear();
    charcount = 0;
    secondline = false;
    while (Serial.available() > 0) {
      if (charcount > 15 && secondline == false ) {
        lcd.setCursor(0,1);
        secondline = true;
      }
      char inChar = (char)Serial.read();
      if (inChar != '\0') {
      lcd.write(inChar);
    }
       if (inChar == '\3') {
      digitalWrite(led1, HIGH);
      }
       if (inChar == '\4'){
      digitalWrite(led1, LOW);
     }
      charcount++;
    }
  }
 }

我不认为
echo
解码转义序列,例如,这行代码不起作用:

echo -ne "\1"

试着改用
printf

嗯,我是c程序员,我不知道你的意思:D!你的意思是用printf更改所有echos命令吗@narzan:在C语言中,字符串和字符转义序列在解析过程中被处理,
\1
被实际字符替换为ASCII代码1。在shell中,这不会发生,而是由各个命令用相应的字符替换(或不替换)转义序列。
printf
命令执行,而echo命令将发送两个字符,相当于C
“\\1”
噢,哇,谢谢分配,我将进行一些更改,然后返回:)
echo -ne "\1"