-
-
Erfahrener Benutzer
Robotik Visionär
Bei einer im Vergleich zum Systemtakt hohen Baudrate hat man das Problem, das man bei der USART nur ganzzahlige Werte für den Teiler einstellen kann. Man hat da also dann die Wahl zwichen ein paar Prozent zu hoch oder ein paar Prozent zu niedrieg. Da hilft dann auch keine andere Baudrate im Header, es sein denn die Gegenseite simmte auch nicht so ganz.
Das 2 te Problem ist, dass die Frequenz des internen Oszillators, nicht so genau ist. Da kann es dann helfen durch einen andere nominale Baudrate den richtigen Wert zu erreichen. Da hat man auch noch die alternative, elegantere Methode, den internen RC Oszillator mit dem OSCAL wert auf die richtige Frequenz zu bringen. Die kleine Verstimmung via OSCAL könnte man zumindestens ausnutzen, um die Rundungsproblem oben zu umgehen. Wenn ein 1 MHz Takt halt nicht geht für 19200 Baud, dann könnten 1.05 MHz eventuell gehen.
Der internen Takt ist aber leider abhängig von der Temperatur und Versorgungsspannung. Wenn die also stärker schwanken, kann man Probleme kriegen.
Der interne Oszillator bei den alten (z.B. At90S...) Chip war von der Tendenz her genauer als bei den neuen. Einige Sachen die früher mit dem internen Takt gingen gehen bei den neuen Chips eventuell nicht mehr zuverlässig.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen