Hallo, ich möchte ein Händie (Siemens ME45) von einem ATMEGA16 über USART ansteuern lassen. Der ATMEGA16 hat durch einen externen Quarz eine Taktfrequenz von 4 MHz. Lt. AVR-Manual könnte man z.B. eine Baudrate von 19200 einstellen, wenn man unter 1% Baudratenfehler liegen möchte. Das Händie, probehalber von Hyperterminal angesprochen, bevorzugt 115200 Baud, da werden schön lesbare Zeichen hin und her übertragen. Und nun? Muß man man die USART-Verbindung über die serielle Schnittstelle vergessen oder gibt es da spezielle Tricks? Viele Grüße Alexander
nimm einen anderen Quarz (7,3-irgendwas) und stell 115200 Baud ein (s. Datenblatt ATmega16) oder nimm die UART library von Peter Fleury (http://jump.to/fleury) Mario
Mario Grafe wrote: oder nimm die UART library von Peter Fleury > (http://jump.to/fleury) > > Mario Kann man mit Fleury's Software und seinen Ringpuffern die Schwierigkeiten mit nicht übereinstimmenden Baudraten umgehen? Als jemand, der sich schwer tut, die Sache auf Anhieb nachzuvollziehen, scheint es mir so. Ich lese, es werden UART_Buffer_Overflows registriert usw., weil der receive_buffer nicht schnell genug gelesen werden konnte. Und das funktioniert bei weit auseineanderliegenden Baudraten? mfg Alexander
Alexander Schmeil wrote: > Kann man mit Fleury's Software und seinen Ringpuffern die > Schwierigkeiten mit nicht übereinstimmenden Baudraten umgehen? Nein. Natürlich nicht. Das Eine hat nichts mit dem Anderen zu tun.
@Alexander: Wie schon Karl Heinz Buchegger schrieb: Das eine hat mit dem anderen nichts zu tun. Du mußt auf jeden Fall die exakte Baudrate einstellen - Im Fall der Library von Peter Fleury einfach via...
1 | |
...wäre zum Bsp. die Einstellung für 115200 Baud. Schau dir mal die angehängte Tabelle aus dem Atmega16 Datasheet an. 7.3728Mhz wäre gut für dich... Mario
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
