EBRU
5.2 Programmierung der digitalen Eingänge
In diesem Abschnitt soll das Programmieren der digitalen Eingänge im Pollingbetrieb und im
Interruptbetrieb dargestellt werden.
Für das Einlesen der Eingangszustände im Pollingbetrieb gibt es zwei Möglichkeiten zur
Auswahl. Zum einen stellt der Treiber eine Funktion zur Verfügung, mit der einzelne Eingänge
gezielt ausgelesen werden könne, zum anderen eine Funktion, mit der der Zustand aller
Eingänge auf einmal zurückgegeben wird.
Beginn
Ist beim Einlesen der
digitalen Eingänge ein
Fehler aufgetreten?
Fehlerbehandlung
Ist beim Einlesen vom
digitalen Eingang 10 ein
Fehler aufgetreten?
Fehlerbehandlung
Ende
Das nächste Beispiel zeigt die Interruptsteuerung bei der Verwendung der digitalen Eingänge
als Interruptquelle.
Es wird im Quellcode Kanal 1 als Interruptquelle eingestellt und gewartet, bis 100 Interrupts im
Interrupthandler verarbeitet wurden.
PCIADIO – PCI Karte mit galv. getrennten analogen und digitalen IOs
pciadio-de-um-1v2.doc
...
unsigned char
l_ucInputState;
unsigned char
l_ucActIndex;
boolean
l_bReturn;
unsigned short
l_usAllChannelState;
...
/* Einlesen der Eingänge auf einmal */
l_bReturn = pciadioDIGetState(ucActIndex, &l_usAllChannelState);
/* Ist ein Fehler aufgetreten ? */
if(l_bReturn!=TRUE)
{
/* Fehlertext auslesen */
pciadioGetErrorMsg(l_strErrorTxt);
}
...
/* Einlesen des Eingangs 10 */
l_bReturn = pciadioDIGetChannelState(l_ucActIndex,
/* Ist ein Fehler aufgetreten ? */
if(l_bReturn!=TRUE)
{
/* Fehlertext auslesen */
pciadioGetErrorMsg(l_strErrorTxt);
}
...
Benutzerhandbuch
06.06.2011
Rev. 1.2
10,
&l_ucInputState);
Seite 27 von 75