Hallo, Ich soll mit einem ATMEGA32 (DIP) Impulse zählen. Im Programm wird im Grunde immer um eins erhöt, wenn ein Impuls kommt. Nur weiß ich jetzt nicht welchen Anschluss ich vom uC nehmen muss um die Impulse zu zählen. Ich hab im Forum gelesen, dass bei eher langsamen Impulsen ein Taster Interrupt zu verwenden ist.(Aufnahme von Stromzähler-rote Mark.) Ist dass so ein Port INT (es gibt int0 int1 int2, ist es dann egal welcher?). Dann würde das Programm so aussehen: sbit Port = 0x.. //die Adresse steht glaub ich im Datenbl. int x = 0; isr() //Wo muss ich den den Port angeben damit isr() weiß welcher { x++; } Bitte um Hilfe. julian
Geht auch mit Interrupt. Praktischer wäre aber wahrscheinlich die Input-Capture-Unit des Timers 1. (im Datenblatt ab S.93) Mit C kenn ich mich nicht aus, näheres dazu im GCC-Tutorial: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Wennse prellfrei und störfrei sind, mit nem Timer als Counter. Wennse störbehaftet sind oder prellen, mit nem Timerinterrupt im Prellintervall (~10ms bei mechanischen Kontakten). Peter
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.