莱昂纳多串行通讯

时间:2013-10-21 03:34:30

标签: serial-port arduino

我写了这个示例草图来测试与Arduino Leonardo的串行通信(在Windows 7上使用Arduino IDE 1.0.5):

int delayTime = 10000;
long lastExec = 0;

void setup()
{
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
}

void loop()
{
  long t = millis();
  if (t - lastExec >= delayTime) {
    if(Serial.available() > 0){
      Serial.println('Hello world');
    }  
    lastExec = t;
  }
}

选择的串口似乎正常工作,因为草图上传正确。

但是我在串口监视器窗口中没有得到任何东西。为什么呢?

2 个答案:

答案 0 :(得分:4)

首先需要向Arduino发送一个角色。

因为您有if(Serial.available() > 0),所以除非Serial.println("Hello World");中有某些内容,否则Arduino将不会Serial buffer

您可能还想减少非常长的delayTime

总之,您可以通过在串行监视器中输入内容来尝试:

void setup()
{
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
}

void loop()
{
  if(Serial.available() > 0){
    Serial.println('Hello world');
  }  
}

希望它有所帮助! :)

答案 1 :(得分:-3)

帮助"Hello world",而不是'Hello world'