我写了这个示例草图来测试与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;
}
}
选择的串口似乎正常工作,因为草图上传正确。
但是我在串口监视器窗口中没有得到任何东西。为什么呢?
答案 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'
。