Forum: Mikrocontroller und Digitale Elektronik von Codesammlung Verlagert: ATMega128 Uart Problem


von Tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich brauche echt Eure Hilfe, da ich nicht weiss, was ich noch alles
testen kann. Ich Versuche jetzt schon seit geraumer Zeit mit Hilfe
eines Stk500/501 und einem ATMega128 ein Zeichen über die Uart1
Schnittstelle zu senden und bekomme es einfach nicht hin.
Mit nem Oszi hab ich auch schon am Ausgang gemessen - kommt aber nix
raus :-(
Der Fehler muss also in der Software liegen (µC hab ich auch schon
getauscht).
Was kann ich noch tun??

Gruss, Tobi

ps: quellcode wurde mit wizard erzeugt

von AxelR. (Gast)


Lesenswert?

UART1 oder UART0? der hat doch zweie davon...

von Tobi (Gast)


Lesenswert?

ja, hat zwei davon.UART1

Kompatibilitätsmodus für den 103er ist nicht eingeschaltet, falls du
deshalb gefragt hast

von Tobi (Gast)


Lesenswert?

..

von Jens (Gast)


Lesenswert?

wo bist dz mit dem oszi drangeganngen??
ausgang µC oder ausgang MAX232?

von flyingwolf (Gast)


Lesenswert?

Mach es Dir doch für den Anfang nicht so schwer mit Interrups und
Fehlerspeichern ....


void uartcommand (char ccommand)
    {

  UBRR1H = 0x06;              //  UBBRH(06)  Reloadwert für Highregister
  UBRR1L = 0x82;              //  UBRRL= (fquarz/ (16* BAUD) ) -1 (82)
Lowregister


    setbit(PORTD,PD2);            // Pullup am RXT aktivieren
  setbit(UCSR1C,USBS1);          // 2Stopbits
  setbit(UCSR1B,TXEN1);          // Sender enablen
  setbit(UCSR1B,RXEN1);          // Empfänger enablen


  pause(1); // 10 ms Pause

  UDR1 = ccommand;
  pause(8); // 80 ms Pause
  UDR1 = 0x0d;  // CR

  }

von Tobi (Gast)


Lesenswert?

Oszi an max232 Ausgang und am µC

@flyingwolf

Welcher compiler ist das den, bzw. welche header datei?
Die ganzen befehle und defines gibt es bei mir nicht.

von flyingwolf (Gast)


Lesenswert?

na ein bisschen musst Du auch noch selbst anpassen, z.B.

#define setbit(ADDRESS,BIT) (ADDRESS |= (1<<BIT))
#define clearbit(ADDRESS,BIT) (ADDRESS &= ~(1<<BIT))

und für die "pause" gibt es aus der Standartbibliothek ein delay???

ach ja die Baudrate hier ist 300 oder 400 baud. wenn Du 9600 haben
willst, musst Du die Reloadwerte entsprechend ändern

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.