Forum: FPGA, VHDL & Co. Mplab, bitte Hilfe


von Manfred A. (autsche)


Lesenswert?

Ich habe einen taster am 18f4550 angeschlossen (PortB). Wenn der taster 
3 sekunden gedrückt wird soll ein printf Befehl ausgegeben werden.

Wie mache ich am besten die Abfrage dass nach 3 Sekunden drücken der 
Befehl gesendet wird?

Ich dachte an einen Timer der immer den zustand des Tasters abfragt und 
bei anhaltender positiver rückmeldung dann das senden veranlasst.

Könnte mir vllt jemnd ein codebeispiel geben bitte?

danke im voraus

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Falsches Forum. Hier geht es um programmierbare Logik.

> Könnte mir vllt jemnd ein codebeispiel geben bitte?
Mach mir bitte meine Hausaufgabe?
So kommst du hier nicht weiter. Zeig besser mal, was du selber schon 
gemacht hast. Und dann schreib, was dir noch unklar ist.

von Daniel -. (root)


Lesenswert?

ich täte das so machen:

-> Timer im uC so einstellen, dass alle 0.1 sec ein interrupt losgeht

ISR() <- state machine im interrupt
switch(state) {
 counting:
  count++;
  if(taste_open)
   state=not_couning;
  break;
 not_couning:
  count=0;
  if(taste_closed)
   state=counting;
}

und woanders einfach

if(state==counting && count>=30)
 => mindestens 3 sekunden wird Taste gehalten

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.