Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Interrupt (wie geht das?) Kategorie: I²C-Bus (von Markus P. - 27.04.2003 18:56)
Als Antwort auf Interrupt (wie geht das?) von Klaus - 26.04.2003 22:13

Hallo Klaus,

kommt darauf wann wie schnell die Reaktion sein mu� und wieviele Eingänge
du überwachen möchtest.

Bei einem Taster an Port P1H.0 mache ich es z.Bsp. so:

//---------
thread tastenabfrage
//---------
{
wait ports.get(8)==0; //Wartet bis ein LOW-Signal am Eingang anliegt

//entsprechende Aufgaben ausführen
//Bei diesem Beispiel werden die Aufgaben so lange ausgeführt
//wie die Taste gedrückt wird.
}


Wenn ich mehrere Tasten überwachen mu� verwende ich entweder den
PCF8574 (8 I/O Ports) oder den PCA9555 (16 I/O Ports) und verbinde den
/INT Anschluss des IC´s mit einem Digitaleingang (Bsp. P1H.0) der CC2 -
plus Pullupwiderstand 10K auf +5V.

Wechselt nun der Zustand eines der Ports am IC wird der /INT auf LOW
gesetzt und bleibt so lange in diesem Zustand bis der IC gelesen wurde.

Die Eingangsabfrage funktioniert bei mir dann in etwa so:

//-------------
thread tastenabfrage
//-------------
{
 wait ports.get(8)==0; //Wartet bis ein LOW-Signal = /INT am Eingang anliegt

//PCF/PCA auslesen

//Daten auswerten

//entsprechnde Aufgaben ausführen

}

Es gibt sicher noch andere Möglichkeiten um auf den Wechsel von Zuständen der
Eingangsports zu reagieren, kommt auch auf die Art der Signale an.

MfG
Markus P.

PS an André: Auch ich währe einer Suchfunktion für das Forum nicht abgeneigt. :-)



    Antwort schreiben


Antworten: