我正在使用Ciseco srf模块尝试从arduino nano发送“+++”。我的代码是
bool b =false;
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.write('+');// Ihave tried Serial.write("+++")
Serial.write('+');// but this sends "+++<CR>" :(
Serial.write('+');
}
void loop() {
String content = "";
char character;
if(!b)
{
//Serial.print("sent");
b = true;
}
while(Serial.available()) {
character = Serial.read();
content.concat(character);
}
if (content != "") {
Serial.println(content);
}
}
问题是Arduino似乎在<CR>
或其他组合上发送了回车Serial.write("+++")
。有人可以帮我关闭Arduino上的回车并严格编程串口通讯吗?
答案 0 :(得分:2)
根据arduino手册http://www.arduino.cc/en/Serial/Write 使用serial.write(0x2B)三次将'+'字符发送到SRF模块。 或者您可以用这3个字符填充缓冲区并使用serial.write(buffer,len)发送它们。