-         
Ergebnis 1 bis 6 von 6

Thema: USART funktioniert nicht

  1. #1

    USART funktioniert nicht

    Anzeige

    Guten Tag Forum,
    ich beschäftige mich mit der Programmierung von MCUs. Jetzt tritt bei mir folgendes Problem auf:
    Habe eine C-Projekt in Atmel Studio 7.0 für die Nutzung des USART auf einer Atmega 328P mit
    HTerm und LCD-Display über I2C erstellt. Die MCU wird mit 16 MHz getaktet. Die Eingabe
    erfolgt am PC, die Ausgabe auf dem LCD_Display und in HTerm. Alles klappt einwandfrei. Jetzt
    habe ich das Progrämmchen auf Atmega 1284P 15 MHz (NIBOBURGER) umgestellt. Es funktioniert mit
    dieser MCU nicht. Der Begrüßungstext auf dem Display wird korrekt dargestellt, die I2C Schnittstelle
    also kerrekt getaktet. Auf dem HTerm kommt im Receivebereich etwas an, aber nur für jedes Byte
    H80 oder H00.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    34
    Beiträge
    2.767
    Das traurige an den Projekten die man mit dem Studio "bäckt" man versteht sie nicht und wenn im Framework ein FEhler ist sucht man sich dämlich.

    Ich kann leider nur dazu raten, sich entweder eine einschlägige library aus Github zu nhemen wenn man es einfach haben möchte oder die UART manuell zu konfigurieren
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.791
    .. USART auf einer Atmega 328P mit HTerm .. kommt im Receivebereich etwas an, aber nur für jedes Byte H80 oder H00.
    Das HTerm hatte mich oft geärgert, genauer: es hatte selten gut funktioniert. Ich hab auch mal nen Kommentar gelesen, dass HTerm das schlechteste aller . . . Geärgert hatte mich u.A. auch der häufige Fall dass die eingestellte Baudrate am HTerm nicht die gesendete Baudrate verarbeiten konnte - manchmal gings aber mit nem andern Wert.

    Für meine UART-Praxis benutze ich seit "ewig" ein Terminal von Br@y. Nicht dieses neueste, sondern ne Version Terminal by Br@y, v1.9b - 20040714 - die funktioniert in meiner Umgebung einfach perfekt.

    Bei Deinem Post fällt mir auch auf, dass Du mit 15 MHz taktest. Da könnte es sein, dass die tatsächliche Baudrate von der eingestellten abweicht, weil ja nicht alle Berechnungen der UBRRn-Werte ganzzahlig aufgehen; die Abweichungen der realen Routine im Mikrocontroller sind manchmal einfach zu groß. Über diese Abweichungen gibts hier und sonst im www auch mehrere Threads.
    Ciao sagt der JoeamBerg

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    34
    Beiträge
    2.767
    Darf ich den Klassiker Putty als Alternative mit einwerfen?
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    724
    Hallo Bibermann,

    ich hatte grade erst ein ähnliches Problem auf einem anderen System.
    es kam nur ein Backspace an (aber auch falsch), jedoch keine Reaktion auf Buchstaben.
    Das sieht doch recht ähnlich bei Dir aus.
    Da habe ich doch tatsächlich "vergessen" die Baudrate von 9600 auf 115200 zu stellen,
    bzw. die Zeile auskommentiert.
    Das liegt SEHR wahrscheinlich an der Baudrate. Und ein Quarz mit 15 MHz ist schon eher ungewöhnlich,
    Da stehen unter Umständen die Teilerregister nicht richtig bzw. lässt sich der Teiler evtl. nicht so einstellen,
    das der Baudratenfehler klein genug wird ? Typische Quarze sind ja eher 12 und 16 MHz
    Aber ich sehe grade, der läuft tatsächlich mit 15 MHz.
    https://www.mikrocontroller-elektron...boter-bausatz/


    Mit dem HTerm arbeite ich auch ab und zu, hab da eigentlich noch keine schlechten Erfahrungen gemacht.
    Ist zwar alt, aber kommuniziert auch mit meinen SiLabs Bausteinen über die entsprechenden USB-Treiber.

    Beim I2C-Bus spielt die Geschwindigkeit keine große Rolle. Der läuft meiner Meinung nach auch noch mit einem 1 Hz Takt,
    nach oben hin je nach angeschlossenem Bauteil auch im MHz Bereich.

    Siro
    Geändert von Siro (04.12.2018 um 15:45 Uhr)

  6. #6
    Hallo Forum,
    habe mir in der Zwischenzeit zwei identische Schaltungen aufgebaut. PC <--> MCU ->LCD. Als Schnittstelle zwischen PC und MCU habe ein CP2102 Modul. Als Schnittstelle zwischen MCU und LCD ein I2C-LCD Interface. In der einen Schaltung ist ein Atmega 328P, in der anderen Schaltung ein Atmega 1284P. Beide MCUs werden durch einen 16 MHz Quarz getaktet. Mein Testprogramm empfängt Strings (max. 16 Zeichen wegen der Zeilenlänge LCD), retouniert die Eingabe zum PC und stellt den Stringinhalt auf dem LCD dar. Ich habe dieses Programm zweimal erstellt, unter Berücksichtigung der unterschiedlichen Registerbezeichnungen und da. Beim Atmega1284P nutze ich den USART0. In der Schaltung mit dem Atmega 328P funktioniert alles einwandfrei. In der Schaltung mit dem Atmega1284P wird nichts empfangen und somit auch nichts dargestellt denn gesendet. Nur die Sende-LED auf dem USB TTL Wandler signalisiert den Sendevorgang vom PC. Muss u.U. beim Atmega1284P PD0 und PD1 als Ausgang bzw. Eingang initialisiert werden?

    Bibermann

Ähnliche Themen

  1. STK500 USART Funktioniert nicht
    Von Wiederstand im Forum C - Programmierung (GCC u.a.)
    Antworten: 15
    Letzter Beitrag: 09.01.2011, 15:46
  2. UART/USART vom ATMega32 will einfach gar nicht
    Von Bamboocha im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 04.06.2010, 11:21
  3. Intr. + USART+ Atmega32 lib funktioniert nicht
    Von MrTaco im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 30.11.2009, 19:19
  4. Prüfungstress, Usart geht nicht
    Von SebZilla im Forum AVR Hardwarethemen
    Antworten: 21
    Letzter Beitrag: 14.06.2009, 09:06
  5. 18f1320 USART sendet aber empfängt nicht
    Von stalky13 im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 20.06.2007, 20:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •