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: |