Hallo zusammen, ich möchte gerne bei meinem AT90CAN128 die UART Übertragungsgeschwindigkeit des UART1 auf 19,2k einstellen. Als Clock verwende ich einen externen 8Mhz Quarz. So wie ich das Datenblatt verstehe muss ich folgendes eingeben, UBRR1L = 25; // 25 ( dezimal ) ergibt 19,2k bei 8Mhz Clocktakt Sehe ich das richig? Kommen nämlich nur Hyroglyfen an oder bin ich zu doof um die Tabelle im Datenblatt zu kapieren..... :-(
Zerberus wrote: > Hallo zusammen, ich möchte gerne bei meinem AT90CAN128 die UART > Übertragungsgeschwindigkeit des UART1 auf 19,2k einstellen. Als Clock > verwende ich einen externen 8Mhz Quarz. > So wie ich das Datenblatt verstehe muss ich folgendes eingeben, > > UBRR1L = 25; // 25 ( dezimal ) ergibt 19,2k bei 8Mhz Clocktakt > > Sehe ich das richig? Kommen nämlich nur Hyroglyfen an oder bin ich zu > doof um die Tabelle im Datenblatt zu kapieren..... :-( die einfachste Variante ist es, nicht in der Tabelle nachzusehen, sondern den Compiler die notwendigen Berechnungen anstellen zu lassen. Sieh dir hier mal das Makro UBRR_VAL an http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#UART_initialisieren PS: Der heäufigste Fehler, wenn eine UART nicht funktioniert ist es, wenn dein µC nicht auf der Taktfrequenz läuft, die du angibst. D.h. zb. du gibst zwar 8Mhz im Programm an und hast auch einen Quarz dranhängen. Allerdings hast du vergessen, die Fuses umzustellen und daher arbeitet der µC immer noch auf dem internen RC-Oszillator auf ca. 1Mhz
Ok Karl Heinz, klar da hast Du schon recht, aber die Fuses passen, und der Interne Prescaler ist auch ausgeschaltet, der teilt nämlich sonst standartmäßig immer schon durch 8. Danke jedenfalls für deine Tips. Aber sonst müsste die 25 schon passen oder?? Dann liegt der Fehler wo anders :-(
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.