Forum: Mikrocontroller und Digitale Elektronik Timer fällt bei Betätigung aus


von Schmittman (Gast)


Lesenswert?

Hi Jungs,

ich habe einen Timer programmiert an einem uCAtgemga48 und ihn mit einem 
Knopf gekoppelt und immer wenn ich den Knopf betätige, fällt der Timer 
aus und der uC resetet sich, obwohl er lediglich die Impulse zählen soll 
und der Interrupt nicht durch einen Kontakt unterbrochen werden soll, 
was hab ich da falsch gemacht?

von Julian K. (tuxoid)


Lesenswert?

Quellcode?

von H.Joachim S. (crazyhorse)


Lesenswert?

Zeile 42

von digitaler fritz (Gast)


Lesenswert?

Der Knopf ist eindeutig falsch gekoppelt..

von Checker (Gast)


Lesenswert?

Der prellt bestimmt.

von mega (Gast)


Lesenswert?

anderen µC nehmen

von Bastler (Gast)


Lesenswert?

Taster zwischen VCC und Gnd?

von Michael U. (amiga)


Lesenswert?

Hallo,

hmmm, ein Timer zählt den Systemtakt um sozusagen Zeiten zu erzeugen.
Würde er Impulse zählen sollen, wäre er ein Counter.

Natürlich kann man den Knopf an den Systemtakt anschließen, dann wäre 
der Timer wohl auch Counter oder der Counter ein Timer oder so...

Welches Problem hast Du eigentlich mit welchem Programm?

Gruß aus Berlin
Michael

von Kevin (Gast)


Lesenswert?

Anstelle des Knopf könntest du einen Reißverschluß nehmen.

von Peter D. (peda)


Lesenswert?

Schmittman schrieb:
> was hab ich da falsch gemacht?

Du hast versucht, einen Programm-Quelltext in völlig unverständlichen 
Worten zu beschreiben.

Rate mal, wozu es den Punkt Dateianhang im Forum gibt.


Peter

von digitaler fritz (Gast)


Lesenswert?

...jetzt stehen alle Tueren weit offen fuer einen zweiten Anlauf: 
Bittesehr !





...nur Mut




...hereinspaziert





...und serviert




...wie im DreiMikroControllerHaus

von Heinz L. (ducttape)


Lesenswert?

Und während wir auf den Quellcode warten, ein kleiner Allgemeintip der 
mir recht gut weiterhilft wenn ich C-Code schreiben muss (ja, muss, ASM 
geht fixer von der Hand...):

Tu mal folgende Zeilen in Deinen Code dazu:
1
ISR (BADISR_vect)
2
{
3
  asm ("nop");
4
}

Und setz einen Breakpoint auf das asm("nop");

Sollte der Breakpoint ausgelöst werden (und laut meiner Glaskugel klingt 
Deine Beschreibung so als ob da ein Interrupt ohne zugehörige Routine 
fliegt), dann, ja dann hast Du irgendwo einen Interrupt ausgelöst und 
keine Routine dafür. Guck mal ob Du WIRKLICH die richtigen 
Interruptroutinen verwurstest.

Irgendwie ist das Debugging von ASM Code einfacher...

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.