Gast
#1604688
Guten Tag, seit einigen Tagen beschäftige ich mich mit den ATxmegas. Habe ein bisschen mit dem UART herumgspielt und jetzt versucht ein Header File zu schreiben, dass ich immer als Debug-Ausgabe einsetzen kann. Allerdings habe ich noch ein Problem bei der Initialisierung des BSEL Wertes. Ich benutze die interne Baudratenerzeugung, wobei der Bscale Wert auf 0 steht:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
Das Problem tritt bei der Berechnung des Wertes auf. FPER übergebe ich als 2.000.000, als Ergebnis müsste 12 herauskommen. Leider ist es so, dass wenn die Berechnung ablaufen müsste, im Debugger immer die 2 nachfolgenden Anweisungen übersprungen werden. Wenn ich BSELT gleich 12 setze, erhalte ich das korrekte Ergebnis (es funktioniert dann auch mit der Hardware). Viele Grüße und vielen Dank im Vorraus, jojo PS: Ich weiß, dass es nicht sonderlich sinnvoll ist, das ganze ohne Fehlerbetrachtung zu machen, jedoch hält sich der prozentuale Fehler bei 9600Baud im Allgemeinen (ganz krumme Werte habe ich jetzt noch nicht getestet) im Rahmen.