Forum: Mikrocontroller und Digitale Elektronik Problem mit UART und Minicom


von Guenther Vogl (Gast)


Lesenswert?

Hallo

Ich habe folgendes Problem: Ich habe ein Testboard mit einem ATMega16
und wollte mal eine Kommunikation über die USB Schnittstelle probieren.
Wenn ich jetzt so ein Test Programm (wie das im GCC Tutorial) mache,
sehe ich zwar das eine LED am Board anzeigt, dass etwas gesendet wird,
aber ich erhalte nie ein Zeichen in Minicom. Die Schnittstelle hab ich
schon 20x Überprüft, und auch das Programm. Ich habe die Folgenden
Zeilen in einen externen Interrupt gesteckt, damit ich auf Knopfdruck
senden kann.
  while(!(UCSRA & (1<<UDRE)));
  UDR = 'T';
  while(!(UCSRA & (1<<UDRE)));
  UDR = 'e';
  while(!(UCSRA & (1<<UDRE)));
  UDR = 's';
  while(!(UCSRA & (1<<UDRE)));
  UDR = 't'

Meine Initialisierung:
  UCSRB |= (1<< TXEN);
  UCSRC |= (1<<URSEL)|(3<<UCSZ0);
  UBRRH = 0;
  UBRRL = 51;

Kann mir da jmd einen Tipp geben, wo mein Fehler liegt?
Danke Lg
Günther

von Ale (Gast)


Lesenswert?

1. Habst du Kommunication ueber RS-232 ? du sagst ja, wiel du etwas in
Led gesehen hast.
2. Hast du Kommunication ueber USB, wiellecht du kanst auch ein Led
zwichen D+/D- verbinden/ konnektieren ?

3. Habst du viellecht ein anderes USB geraet, so du kanst die
USB-Seriell driver im Computer probieren ? (Die /dev/usbseriel (o.a.)
"Datei" hat richtige Permissions zu lesen ?), probier mal die
Baud-rate, es muss stimmt. Viellecht auto kann helfen).

von Thomas P. (gonzo)


Lesenswert?

hast du nen externen Quarz dran? Und wenn ja ist er auch aktiviert?
Läuft der µC auch auf der richtigen Frequenz?

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.