Forum: Mikrocontroller und Digitale Elektronik Immer noch Probleme mit dem UART


von Klaus (Gast)


Lesenswert?

Hallo,

mein AVR will immer noch keine DATEN von meinem RFID Lesekopf
empfangen... :-(

Ich habe das ganze ding mal an einen MAX232 angehabgen um mir son
Serielles Kabel gebaut.

Auf dem Hyperterminal am PC kommt nun das hier an:
Erst ein <stx>OK<eot> für richtige initialisierung, und dann wenn man
die Chipkarte vor die Antenne hält
<stx>R885B0400DD<eot> (Transpondernummer)

Also funktioniert das ganze teil schonmal recht prima.

Also hab ich mir dann einen TTL inverter hergenommen und das ganze dann
mal an den rxd eingang meines AVR angeklemmt.

Das ist der Code dazu... vieleicht hab ich da ja was vergessen??

#include <stdlib.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/pgmspace.h>

#include "lcd.h"
#include "dual.h"

int main(void)
{

    lcd_init(LCD_DISP_ON);
    lcd_free();
    outp ((1 << RXEN), UCR);
    outp ((8000000 / (9600 * 16)) -1, UBRR);
    char  ch;
    sei();
    for (;;) {
        if (inp (USR) & (1 << RXC)) {
  ch = inp (UDR);
  lcd_putc(ch);
  }

return 0;
  }
}

Wäre super wenn da jemand nochmal eine Idee hätte.

von Hubert (Gast)


Lesenswert?

Also ich nehme immer die Lib von Fleury, bei der weiss ich das sie
funktioniert und stricke nacher um wenns um Platz geht.
Das MOdul gibt hex aus, das LCD braucht ASCII.
Bingt das LCD was?

von Klaus (Gast)


Lesenswert?

Ich habs schon rausgefunden.

  lcd_putc(ch);
  }

return 0; <- Steh an falscher stelle...
  }
}

Muss hinter die nächste Klammer. Dann funktioniert das auch.
Hatte immer nur ein Komisches Zeichen auf dem Display. Aber das was
sogar auch schon richtig, weil es das Startbit vom Lesekopf war und das
als 0x02 ankommt, und da findet das Display in der ASCII Tabelle halt
nix dolles!

Naja .... kommt davon wenn man zuviel Code mit copy and paste durch die
Gegend kopiert.

Aber danke an alle die Ihre Gedanken eingebracht haben...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.