Forum: Mikrocontroller und Digitale Elektronik OSCCAL automatisieren


von peter (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
ich habe eine inline assembler routine geschrieben um das OSCCAL Byte
während der Programmausführung aus dem Flash in das OSCCAL register zu
schreiben.Nun zu meinem Problem: Wie kann ich testen ob die routine so
funktioniert. Das AVR Studio will irgendeine .s datei um den attiny15
zu simulieren. Jemand ne idee ?
Gruss
peter

von Matthias (Gast)


Lesenswert?

Hi

welcher C-Compiler unterstützt den den ATTiny15? Der hat ja schließlich
kein SRAM? Und warum mit Inline-ASM? Bietet dein Compiler keine Funktion
zum Lesen aus dem Flash?

Matthias

von ...HanneS... (Gast)


Lesenswert?

Hi..

Mal von C ganz angesehen, sowas ist doch eigentlich normal. Nur teste
ich noch, ob ein gültiges Calibrationsbyte im Flash liegt, wobei ich
darauf spekuliere, dass $ff als Calibrationsbyte nicht vorkommt.

reset:            ;Initialisierung
 ldi zl,low(1022)  ;Pointer auf
 ldi zh,high(1022)  ;Calibrationsbyte
 lpm      ;nach r0 holen
 ldi zl,255    ;Referenz
 cpse zl,r0    ;Calibrationsbyte gültig (<>$ff)?
 out osccal,r0    ;ja, kalibrieren
 ...                    ;weitere Initialisierungen...

Gilt so für Tiny12 und Tiny15, kostet außer 6 Worten Flash keine
Ressourcen, da zu diesem Zeitpunkt noch kein Register für andere Zwecke
benutzt wird und die Inhalte der hierfür benutzten Register nicht mehr
gebraucht werden...

Übrigens vermisst AVR-Studio (4.08) bei mir keine .s Datei, ich
programmiere aber auch in Assembler.

Testen, ob die Calibration erfolgreich ist, kannst du durch ein
Programm. Aktiviere einen Timer, lass in seiner ISR einen Pin toggeln,
miss dessen Frequenz und errechne anhand der Timereinstellungen die
AVR-Taktfrequenz. Diese sollte der kalibrierten Oscillatorfrequenz
entsprechen (Tiny12: 1,2MHz, Tiny15: 1,6MHz).

Da mein ISP-Programm beim Löschen gleich das Calibrationsbyte ausliest
und ins Flash schreibt, komme ich mit dieser Automatisierung sehr gut
zurecht,zumindest solange ich die AVRs selbst update.

...HanneS...

von ...HanneS... (Gast)


Lesenswert?

Ups...

Iss ja schlimm, wie die Tab-Formatierung zerrissen wird, werde beim
nächsten mal alles mit Leerzeichen machen...

...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
Noch kein Account? Hier anmelden.