Hi, wer kennt sich mit den Calibration Bytes aus? Es gibt offensichtlich zwei verschiedene ATmega Reihen. Die eine Verfügt nur über ein Calibration Byte im Signature High Byte 0. Die andere hat 4 Calibration Bytes, je eins für 1,2,4,8 MHz. Wohin schreibt das STK500 diese Bytes? Gibt es so etwas wie eine Norm unter Programmiergeräten? Hier ein Auszug aus der ATmega64 Docu: Page 41 2490IAVR11/04 "Writing the calibration byte to this address will trim the internal Oscillator to remove process variations from the Oscillator frequency. During Reset, the 1 MHz calibration value which is located in the signature row high byte (address 0x00) is automatically loaded into the OSCCAL Register. If the internal RC is used at other frequencies, the calibration values must be loaded manually. This can be done by first reading the signature row by a programmer, and then store the calibration values in the Flash or EEPROM. Then the value can be read by software and loaded into the OSCCAL Register." Nicht gerade sehr aussagekäftig, oder?
du kannst bei stk500 doch genau einstellen wo in welchen speicher er das schreiben soll. schau dir das bedien modul nochmal genau an
Hi Bernd... Bei den AVRs, die im Auslieferungszustand vom Userprogramm kalibriert werden müssen (Tiny12, Tiny15) schreibt ATMEL das "Calibrationsbyte" zusätzlich in das H-Byte und L-Byte der letzten Speicherzelle im Flash. Dies macht meine Bratsoft bei jedem Löschen, falls Kalibration erforderlich ist (also Kalibrationsversion 1.x und 3.x außer 1MHz) und wenn das Programm die letzte Flash-Zelle nicht belegt. Die letzte Flash-Zelle ist eine gute Wahl. Das User-Programm kann diese in der Reset-Routine einlesen, auf Gültigkeit prüfen (<>$FF) und bei Gültigkeit ins osccal schreiben. Schau mal in die AVR053, da sind die Kalibrationsversionen aufgelistet. ...HanneS...
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.