Hallo. Ich arbeite gerade mit einem Crumb128-Modul, das ich in Bascom programmiere. Das Programm besteht nur aus dem Initialisierungsteil und einer Endlosschleife. Eigentlich erwarte ich, dass der Controller den Initialisierungsteil einmal ausführt und danach in der Endlosschleife hängen bleibt (deshalb heißt sie ja "Endlos-"). Macht er aber nicht. Stattdessen führt er auch immer wieder den Code vor der Endlosschleife aus. Um das Problem einzukreisen habe ich folgenden kleinen Code verwendet: ----------------------------------------------------------------- $regfile = "m128def.dat" 'Atmega128-declarations $crystal = 14745600 Ddrb = &B10000000 'piezo speaker on port b.7 Dim I As Byte 'general purpose counter var For I = 1 To 128 Portb.7 = Not Portb.7 'invert piezo speaker Waitms 3 Next I Main: Portb.7 = Not Portb.7 'invert piezo speaker Waitms 10 Goto Main ----------------------------------------------------------------- An portb.7 hängt ein Piezospeaker, sonst gibt es in meinem Aufbau keine Peripherie. Während der Initialisierung wird der Speaker nun 128 mal zum Schwingen gebracht - jeweils mit 3ms Pause. Ich kann dann einen hohen Ton hören. Nun geht das Programm über in die Hauptschleife und aus dem Speaker kommt ein tieferer Ton (da 10ms Pause). Soweit läuft alles wie erwartet. Nun folgt das Verwirrende: Der tiefe Ton wird nicht ewig gespielt, sondern nur etwa doppelt so lange wie der hohe. Anschließend höre ich wieder den hohen Ton und das Ganze beginnt von vorne. Auf mich macht es den Eindruck, als würde der Controller etwa jede Sekunde einen Reset durchführen, zumal auch alle Variablenwerte verloren gehen (habe ich mit einem anderen Test herausgefunden). Ich habe das mit zwei unterschiedlichen Crumb128-Modulen getestet - das Ergebnis war jeweils gleich. Auf einem Atmega8 habe ich den Code auch getestet - der verhält sich allerdings wie erwartet und spielt den hohen Ton nur einmal ab, anschließend durchgehend den tiefen. Ich hoffe jemand hat einen heißen Tipp, wo die Ursache meines Problems liegt und Danke schonmal! Niklas.
WDTON=0, also deaktiviert. Das Problem scheint ein anderes zu sein.
Hah, nee, Sorry! Vielen Dank, Johnny! Das war das Problem! Jippie! Die Scheiße läuft! Niklas :-)
johnny.m wrote: >> ...Die Scheiße läuft! > > Igitt... Klingt stark nach Durchfall ;o)
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.