Atmega328P FTDI 5V USB Serielle Kommunikation

Ich arbeite mit einem Atmega328P- und FTDI-5-V-USB-Kabel, um eine serielle Kommunikation zwischen dem Mikrocontroller und dem PC zu erhalten. Ich verwende Tera Term für den Empfang von Mikrocontrollern.

Ich verwende ein FTDI 5V USB Kabel mit 6 Pinbelegung.

Ich habe folgende Anschlüsse als

  • FTDI------->ATmega328P
  • VCC --------> Leistung
  • GND -------> Masse
  • RX--------->Pin3

Ich verwende folgenden Code:

int main(void)
{

    UBRR0H = (BRC >> 8);
    UBRR0L = BRC;

    UCSR0B = (1 << TXEN0);
    UCSR0C = (1 << UCSZ01) | (1 << UCSZ00);

    while(1)
    {
        UDR0 = '8';
        _delay_ms(1000);

    }
}

Aber ich erhalte keine Werte in meinem Tera Term-Bildschirm zurück. Die entsprechenden Einstellungen habe ich bei meinem Tera Term for Serial vorgenommen.
Irgendwie stecke ich damit schon seit einiger Zeit fest. Kann mir bitte jemand sagen, ob ich etwas falsch mache?

Antworten (1)

Sie müssen wahrscheinlich ein Oszilloskop hinzuziehen, damit Sie die Signalpegel sehen können und ob tatsächlich serielle Signale auftreten.

Wissen Sie, dass der Fehler Nummer eins beim Verbinden serieller Ports wie dieser darin besteht, die Tx- und Rx-Signale querzuverdrahten. Das FTDI-Kabel ist mit Tx als Ausgangssignalstift an Stift 4 (oranger Draht) und Rx als Eingangssignal an Stift 5 (gelber Draht) gekennzeichnet.

Geben Sie hier die Bildbeschreibung ein

Sie müssen den Tx-Pin des FTDI-Kabels mit dem Rx-Pin am AVR verbinden. Ebenso müssen Sie den Tx-Pin des FTDI-Kabels mit dem Tx-Pin am AVR verbinden.

Der große Fehler, der oft gemacht wird, ist, dass die Leute die beiden Tx-Signale und die beiden Rx-Signale miteinander verbinden.