Hallo. Kann mir mal jemand erklaeren wie man 1,5 Stopbits auf Atmega realisiert? Beispielprogramm waere nett. mfg. nie
Muss es denn unbedingt 1.5 sein? Aus meiner Erfahrung kann ich Dir nur sagen, daß etliche PC-UARTS das auch nicht können. Grüße Oliver
Ich probiere eine schnelle Baudrate zu verwenden. Leider kommt schon bei 19200 relativ oft Mist raus. Habe gelesen, dass man mit 1,5 Stopbits 56000 baud erreichen kann. gruss florian
Wie wäre es, wenn Du statt dessen einen anderen Quarz verwendest? Je nach Controller z.b. 7,3728MHz oder 11.0592MHz. Schau mal ins Datenblatt in die Baudratentabelle
Hallo Florian, Mist kommt bei der Übertragung immer raus. Mal mehr, mal weniger. Das kommt von den Abtastfehlern (Synchronisationsproblem) der UARTS. Die einfachste Art einen Fehler zu detektieren ist, mit Paritätsbits zu arbeiten. Der UART-Baustein signalisiert dann eventuell einen Übertragungsfehler(Doppelfehler werden nicht erkannt). Beheben kann man ihn allerdings nicht. Wenn Du eine sichere Verbindung aufbauen willst, mußt Du ein Übertragungsprotokoll aufsetzen. Jedes Telegramm wird dann durch einen CRC geschützt. Wird ein fehlerhaftes Telegramm erkannt, wird es erneut angefordert. Grüße Oliver
19200 und 38400 Baud sind auch mit 8 MHz problemlos möglich, da hier der Fehler unter 0,2% liegt. Mit 7,3728 MHz sind 115000 Baud in beide Richtungen möglich. Diese Geschwindigkeiten schafft der AVR ganz ohne Probleme.
Hallo an alle! Ich hab einen 3,6864 MHz Quarz. Laut Datenblatt bis 115200 baud keine Fehler. Also wird es wohl an dem Prog oder Kabel liegen. Im Anhang ist es (das Prog) . Vieleicht schaut mal jemand rein. Die Fehler sind ganz schoen haeufig. schonmal Thanx florian
Deine Formel ist falsch! Muss lauten: ldi temp, quartz / (16*(baud +1)) Grüße Oliver
Hi Oliver! Die Formel haut schon hin. Im UBRR steht das richtige drin! Werde mich dann mal weiterprobieren. florian
Warum aktivierst du den RXC Interrupt wenn du ihn nicht nutzt? Das UDR enthält nur gültige Daten wenn RXC Flag im UCSRA gesetzt ist. Und warum setzt du das CHR9 Bit. Dann musst du auch TXB8 setzen um mit 2 Stop Bits zu senden.
@mikki hi. Sorry das da quark stand. mein prob ist damit aber auch nicht geloest. mfg. niemann
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.