Forum: Mikrocontroller und Digitale Elektronik Taster mit Zeitverzögerung


von Scheuerer Andreas (Gast)


Lesenswert?

Hallo

Wie kann ich Folgendes in C realisieren?

Ich möchte, dass wenn ein taster zB. 2 sec. lang gedrückt wird eine
Funktion aufgerufen wird, und ich dabei neben bei noch andere sachen
machen kann (also nicht delay_ms..).

Währe sehr dankbar für eure Hilfe

von Markus N. (Gast)


Lesenswert?

HAb das gestern erst gemacht g
Wollte für ne LED Steuerung alles mit einem Taster steuern.
Kurz drücken ist programm wahl. Länger drücken ist Dimmen und noch
länger drücken ist Aus.

Also du lässt in der Main Function einfach ne neue Function aufrufen
(wegen der Übersichtlichkeit).

In dieser steht dann folgendes:
1
  if (!(PINC & 1)) //Wenn Pin gedrückt
2
  {
3
    //Zeit zählen
4
    pressed_time = pressed_time + 1;
5
  }
6
        else
7
        {
8
                pressed_time = 0;
9
        }

Somit zählt er einfach weiter und du kannst trotzdem noch im Programm
auf andere Dinge Reagieren.Jetzt musst du nur noch darauf reagieren.

Kann dir auch gerne den kompletten Code den ich gestern gemacht hab
posten. Is auch  ne PWM für 3 verschiedene LED lines enthalten die auch
zwischen den einzelnen programmen Dimmen.

von Scheuerer Andreas (Gast)


Lesenswert?

Danke,

noch ne Frage:
muss ich da noch irgenteine datei includieren?

von Peter D. (peda)


Lesenswert?


von Markus N. (Gast)


Lesenswert?

Nö nur halt die hier:

#include <avr/io.h>

und eventuell (aber das kommt darauf an wie du deine Variablen
deklarierst):
#include <stdint.h>

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.