簡體   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