Hallo zusammen, ich versuche verzweifelt mit einem Attin13 auf einem STK 500 Board einen simplen Zeitschalter mit einem Attiny 13 zu realisieren. Das Ding soll folgendermassen aussehen. Es soll eine Taste gedrückt werden, danach läuft eine Timer ab der einen Ausgan für eine gewisse Zeit schaltet. Mit einer zweiten Taste kann der Timer vorzeitug abgebrochen werden und der Ausgang wird resettet. Der Tiny soll im CTC Mode arbeiten. Der Timer funktioniert so grundsätzlich auch, nur stimmt die Dauer überhaubt nicht mit den errechneten Werten überein. Ich habe einen OCR Wert von 47 ausgerechnet bei einer internen Taktfrequenz von 4.8 MHz um einen Interrupt nach 10ms auszulösen. Durch runterteilen der Dauer müsste ich bei einer Wartezeit von 100 , genau 1s erreichen. Das Problem ist, dass die Zeit immer unterschieldlich ist, mal 1s mal 3s mal 2s. Ich komme hier einfach nicht weiter. Vielleicht könnt ihr mir ja helfen? Ich habe das Programm vorher auf einem Mega8515 laufen gehbat und habe entsprechende die IO Konfiguaration und die Register angepasst. Die Taktfrequenz hab ich über das AVR Studio eingestellt (Boardeinstellungen), dort ist auch der Code entstanden. Bitte berücksichtigt, dass ich ein uC Neuling bin und mein Wissen aus der Technikerausbildung habe. Also bitte nicht zu hart mit mir umspringen falls es ein banaler Fehler ist. Vielen Dank schonmal und schönen Abend noch Grüße aus Bayern Sasscha
Die richtige Taktfrequenz ist in den Fuses eingestellt und CKDIV8 ist abgeschalten?
Was hat Dich denn geritten, ein C-File als PDF zu posten? Peter
Sei froh, er hätte auch ein Photo vom Bildschirm machen können.
Sorry, ich wusste nicht wie ich den Code sonst schicken soll dass es einigermassen gut aussieht. Die Taktfrequenz hab ich über das AVR Studion eingestellt. Die sache mit dem CKDIV8 muss ich noch prüfen. Was macht dieses Bit genau?
Im Programmierfenster gibt es den Reiter Fuses, Dort stellst du die Taktfrequenz ein, Standard ist 9,6MHz, und nimmst den Haken bei CKDIV8 weg. Es wird die Takt durch 8 geteilt. Tatsächliche Taktfrequenz daher 1,2MHz.
sascha2011 schrieb: > Sorry, ich wusste nicht wie ich den Code sonst schicken soll dass es > einigermassen gut aussieht. Das macht das Forum schon ganz alleine, sogar mit Syntax-Highlighting, C-Files sind hier ja öfters. Du solltest Deinem Editor nur vorher sagen, die Tabs durch Leerzeichen zu ersetzen. Der Forum-Formatter kann ja nicht wissen, wie lang ein Tab bei Dir eingestellt ist. Peter
Der CKDIV war tatsächlich das Problem, ihr seid super. Dank. Beim nächsten mal werd ich den Code auch eleganter posten ;-)
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.