Gast
#49461
Hallo zusammen, wer weiß an was für Stellen man drehen muss um die richtige Baudrate meines UART einzustellen? Ich arbeite mit dem ATmega32 MC und habe folgendes Problem: Auf meinem Board hab ich einen Quarz mit 8Mhz (+ 2 Kondensatoren) angeschlossen. In meinem Programm hab ich die Baudrate (9600 baud) eingestellt, siehe nachfolgendem Sourcecode: ldi mp,0x33;entspr. dez. 51 -> bei 8Mhz clk 9600baud out UBRRL,mp ldi mp,0x00 out UBRRH,mp Jetzt müsste ich doch eine Baudrate von 9600baud haben oder? An meinen Empfangsprogramm für meine serielle Schnittstelle kann ich die Empfangsbaudrate einstellen, stelle ich sie auf 9600baud ein, kommt nur Quatsch raus, er synchronisiert also nicht richtig. Stell ich hingegen die Baudrate von 2600baud ein wird mein von MC gesendetes Datenbyte einwandfrei gelesen. Wo liegt mein Fehler ? Ich hab doch eine Clk von 8Mhz oder ? Oder wird die Quarzfrequenz nochmal runtergeteilt? Ich arbeite im asynchronen Übertragungsprotokoll,(Defaultwert 1 Stopbit bereits eingestellt) Aber wie sieht gesamter Datenframe aus ? Wer weiß hier weiter bin jeder Hilfestellung dankbar Viele Grüße Peter