Hallo AVR-Freunde!
Bei vielen AVR-Projekten muss man wissen, wie schnell der Kamerad getaktet wird. Das braucht man, um etwa Timer richtig zu initialisieren oder die richtigen Werte für Baudrate-Register zu erhalten.
Wie geht man es aber an, wenn man die Taktrate nicht kennt zur Zeit der Programmerstellung?
Also AVR aus, anderer Quarz dran oder andere Fuses gesetzt, AVR an und alles geht wie gewohnt, ohne das Programm mit angepasstem Taktwert neu zu übersetzen.
Mit meiner Lösung schaffe ich das nicht viel genauer als 5%, was für eine UART-Initialisierung leider zu ungenau ist. Eine deutlich bessere Genauigkeit ist erreichbar, aber dann ist der Code von Chip zu Chip unterschiedlich.
Evtl schafft es ja jemand die Taktrate so genau zu bestimmen, daß sie zur UART-Initialisierung taugt?
Bin mal gespannt, welche Lösungen ihr hervorzaubert!
Das ganze soll natürlich ohne extra Hardware/Beschaltung zur Taktbestimmung gehen...
Lesezeichen