繁体   English   中英

串口未发送数据

[英]Serial port not sending data

昨天,我开始了一些串口通信。 今天,我试图打开与昨天使用的草图完全相同的草图。 它有效,但是几分钟后,当我再次上传它时,它根本不起作用。

这是代码:

#include "Blink_main.h"

int pin = 1;

void pulsePin(int abc, int length){
    digitalWrite(abc, true);
    delay(length);
    digitalWrite(abc, false);
}

void setup() {
    pinMode(pin, OUTPUT);
    Serial.begin(9600);
    Serial.println("Hi serial!");
    pulsePin(pin, 1000);
}

void loop() {
    if(Serial.available() > 0){
            Serial.println(Serial.read());
            pulsePin(pin, 1000);
    }
}

打开应用程序时,我看不到“嗨序列号”! 消息,发送邮件时,我没有收到消息,也没有看到LED闪烁。 为什么会这样呢?

您正在使用引脚1来使LED闪烁,因为将其用作串行TX,所以将其移至另一个引脚

数字引脚0-1 /串行输入/输出-TX / RX-如果您还使用串行通信(例如Serial.begin),则这些引脚不能用于数字I / O(digitalRead和digitalWrite)。

看来问题出在Arduino开发板上。

首先,尝试上传序列示例草图。 如果不起作用,请尝试重新安装驱动程序或更改所使用的COM端口。

如果问题仍然存在,则可能是ATMEGA8U2或ATMEGA16U2已死。 您可以直接在引脚0和1上使用外部USB到UART进行测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM