Also von den Zeiten her scheint das in Ordnung zu sein. Wie lange ist den zu lange bei dir? Sind das nur ein paar Sekunden oder schon Minuten?
Hallo Leute, habe folgendes Programm geschrieben:
Bei Sekunden klappt es toll (Prescaler 64, Startwert Timer 49910)
Aber bei den Minuten leuchtet es viel zu lange!!
Kann da mal ein erfahrener Programmierer drüberschaunCode:$regfile = "m8def.dat" $crystal = 1000000 $hwstack = 30 $swstack = 30 Config Portb = Output Config Timer1 = Timer , Prescale = 1024 Enable Timer1 On Timer1 Isr_von_timer1 Enable Interrupts Timer1 = 6942 Do Toggle Portb.0 Waitms 200 ' Hauptprogramm zb. wait Loop End Isr_von_timer1: Timer1 = 6942 Toggle Portb.5 Toggle Portb.4 Return??
Mfg
Also von den Zeiten her scheint das in Ordnung zu sein. Wie lange ist den zu lange bei dir? Sind das nur ein paar Sekunden oder schon Minuten?
Nach 3-5 min habe ich es immer ausgeschaltet. Jetzt läuft es bereitrs 14min!!
Die 200 ms Led an pb0 geht übrigens, aber wenn die angeschlossen war, hat die andere etwas mitgeflackert... Drum hab ich sie gleich weg
EDIT: 24 min and counting...
Geändert von runner02 (30.07.2011 um 15:05 Uhr)
Hallo
Laut Rechnung sollte es passen:
1024*(65535-6942)=59999232 Kontrollertakte, macht bei 1MHz etwa 60 Sekunden. Mein 8MHz-Mega8 toggelt in der ISR nach etwas mehr als sieben Sekunden (vier mal toggeln in 30,16 handgestoppten Sekunden), also scheint es grundsätzlich zu funktionieren.
Gruß
mic
Geändert von radbruch (30.07.2011 um 15:19 Uhr)
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Ich kanns leider nur rechnerisch prüfen, da ich meinen Programmer im Bascom nicht ans laufen kriege -.-
Sicher das bei deinem Controller alles richtig eingestellt ist? Fuses usw.
Bascom erzeugt natürlich auch nur .hex-Dateien die man auch mit avrdude oder ponyprog mit jedem Programmer flashen kann. (So bekomme ich die Bascomprogramme auf den asuro, RP6 und bee mit jeweils deren Flashtool)da ich meinen Programmer im Bascom nicht ans laufen kriege
Wenn die Sekunde passt läuft der Mega8 wohl auch mit 1MHz. Wird die richtige Datei geflasht? Programm richtig kompiliert oder versehentlich nur Syntxcheck ausgeführt? Versuche mal kürzere Zeiten, 1, 5, 10, 20... Sekunden mit Prescaler 1024.
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Ja aber das Problem ist der Programmer funktioniert mit AVR Studio auch nichtUnd sonst hab ich nur nen PSoC Programmer
![]()
Hallo,
ISRs benötigen in Bascom standardmäßig min. 32 Bytes (+ jeweils 2 Byte pro aktive Subroutine, =Rücksprungadresse), ein größerer Wert für hwstack dürfte das Problem also beheben.Code:$hwstack = 30 ... Enable Interrupts ...
mfg
Lesezeichen