Forum: Mikrocontroller und Digitale Elektronik Zustandsänderung an einem Pin abfragen


von Daniel (Gast)


Lesenswert?

Hallo,

ich arbeite im Moment an einem Projekt (PIC 18F4520, programmiert mit 
mikrobasic). Unter anderem soll auch eine Überprüfung in dem Projekt 
vorhanden sein, die wie folgt aussehen soll:
Wird Port A2 High, soll dieser so lange überwacht werden, bis Port A1 
ebenfalls High ist. Ändert sich in dieser Zeit der Zustand von A2 von 
High auf Low und wieder zurück, soll ein Signal erfolgen (Led, Display 
o.ä.). Zu dem Zeitpunkt, an dem A1 high wird, ist also A2 nicht mehr 
low, dh A2 ändert nur zu einem Zeitpunkt in der Zeitspanne zwischen 
A2=high und A1=high.
Das Signal anzuzeigen ist nicht das Problem, allerdings wie kann ich 
diese Zustandsüberwachung in Basic programmieren?

Danke schon mal im Voraus,
Daniel

von Karl H. (kbuchegg)


Lesenswert?

Mit einer Hilfsvariablen, die sich merkt, welchen Zustand A2 im 
vorhergehenden Schleifendurchlauf beim warten auf A1-High hatte


endlosschleife

  warte bis A2 high wird

  Hilfsvariable = 1

  wiederhole bis A1 high wird
    ist A2 low ?
      Hilfsvariable = 0
    else
      if Hilfsvariable gleich 0
        Meldung ausgeben "A2 war low und ist wieder high"
        Hilfsvariable = 1
  end wiederhole

  ...

von Tobias K. (kurzschluss81)


Lesenswert?

Haben Pics etwa keine Interrupt fähigen Pins?

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.