Arduino发送ascii字符没有回车

时间:2015-04-28 19:21:21

标签: arduino software-serial

我正在使用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上的回车并严格编程串口通讯吗?

1 个答案:

答案 0 :(得分:2)

根据arduino手册http://www.arduino.cc/en/Serial/Write 使用serial.write(0x2B)三次将'+'字符发送到SRF模块。 或者您可以用这3个字符填充缓冲区并使用serial.write(buffer,len)发送它们。