-         

Ergebnis 1 bis 3 von 3

Thema: UART Interrupt unterbrochen?

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.07.2011
    Beiträge
    340

    UART Interrupt unterbrochen?

    Anzeige

    Hallo zusammen,
    ich habe einen Atmega162 mit 2 Hardware Uart's. Ich nutze für beide die Sende und Empfangsinterrupts. Nun zu meinem Problem:

    Auf der Com1 erhalte ich zyklisch ca. 1 x pro sekunde 2 Byte und sende direkt 2 Byte zurück.

    Auf die Com2 kann ich ein "Telegramm" senden bestehend aus 12 Byte, welche zu testzwecken direkt zurück gesendet werden sollen.

    So mein Problem ist nun auf der Com2 das ich nicht jedes mal das zurück bekomme was ich gesendet habe. 2 von 10 Telegrammen sendet er mir das zurück was ich gesendet habe, die restlichen 8 mal sendet er mir nur 0er zurück. Bei diesen 8 mal dauert die Antwort auch ewig.
    Ich bin inzwischen soweit das ich denke das er nur einen Teil der Bytes empfängt oder irgendwas an daten und den rest macht er dann mit $Timeout und überschreinbt alles mit 0. Daher die lange Zeitdifferenz zwischen senden und empfangen.
    Nur woran kann das liegen das er nicht jedes mal alles korrekt empfängt und nur manchmal? kann das am Program selber liegen das er durch ein anderes Interrupt unterbrochen wird und dann die Daten im Eingangsbuffer weg sind?

    Ich bin momentan echt ratlos!
    Danke für euere hilfe.

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Kannst du mal deinen Code posten?
    Werd aus der Beschreibung nicht richtig schlau
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.07.2011
    Beiträge
    340
    Hallo zusammen,

    sorry für die späte Antwort.
    Ich hab den Fehler inzwischen gefunden. Schuld war nicht die Software bzw. ein Programmierfehler, sondern ein defekter Max485-Baustein. Dieser hat wohl Teile des Telegramms verschluckt.

    Ich habe ihn getauscht, und die Kommunikation hat wieder einwandfrei funktioniert.

    Danke trotzdem.

Ähnliche Themen

  1. UART per Interrupt
    Von sunshine im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 19.03.2011, 23:56
  2. UART Interrupt
    Von skywalker1979 im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 04.06.2008, 07:46
  3. UART mit INTERRUPT in C
    Von Nemesis im Forum C - Programmierung (GCC u.a.)
    Antworten: 10
    Letzter Beitrag: 06.10.2007, 13:37
  4. ADC-Wandlung durch Interrupt unterbrochen?
    Von SteffenJ im Forum PIC Controller
    Antworten: 0
    Letzter Beitrag: 13.08.2007, 16:46
  5. UART Interrupt
    Von jagdfalke im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 13.12.2005, 20:44

Berechtigungen

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