C++ 没有来自我的ddwrt路由器的数据
我有cisco e900路由器,带有dd wrt固件。我将其连接到arduino uno-r3+LCD 16*2,以显示状态和来自该路由器的一些数据/我正在两侧使用TX-RX端口 问题是:没有数据 arduino液晶显示>“dd wrt-供电思科e900” 我的代码中有错误吗 这里是arduino部分: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
// 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"