Revision [c7b261d]
Letzte Änderung am 2017-01-01 20:45:04 durch FabianEndres
ADDITIONS
##### InitCounter
**Syntax:**
int InitCounter (unsigned char cnum, unsigned char mod, unsigned char numbsys);
**Beschreibung:**
Die Funktion legt die Betriebsart eines einzelnen Zählers des Timer-Bausteins 8253 fest. Einstellbar ist dabei der Modus und die Zählweise des jeweiligen Zählers. Erst nach der Initialisierung eines Zählers kann der gewünschte Startwert, mit Hilfe der Funktion WriteCounter, festgelegt werden. Das Lesebzw. Schreibformat der 16-bit Zähl- bzw. Reload-Register ist unveränderlich festgelegt. Ein Zugriff beginnt stets mit dem LSB14, direkt, d.h. ohne zusätzliches Steuerkommando, gefolgt von dem MSB15. Zum Start der Zähler 1 und 2 müssen die Freigaben GATE 1 und GATE 2 über den Parallel-Baustein (PC1 und PC2) freigeschaltet werden.
**Parameter:**
| cnum | Nummer des Zählers (0, 1, 2) |
| +| mod | Modus (0, 1, 2, 3, 4, 5) (siehe Anhang für Hinweise)
| numbsys | Zählweise (0-Binär, 1-BCD)
***Rückgabewerte**
| Rückgabe | Bedeutung |
| +| 0 | OK
| -1 | ungültige Parameter
| 1 | sonstige Fehler
***Beispiel:**
_Erzeugen einer Frequenz von 2 Hz mit Hilfe der_ Zähler 0 und 1 des Peripherie-IC`s 8253
if( ! OpenPLXDevice())
{
>> _Zähler 0 initialisieren
>>InitCounter(0,3,0);_ Startwert für Zähler 0 setzen
>>WriteCounter(0,0x0600);
>> _Zähler 1 initialisieren
>>InitCounter(1,3,0);_ Startwert für Zähler 1 setzen
>>WriteCounter(1,0x03E8);
>> _Parallelbaustein initialisieren
>>StdInit8255();_ Freigabe G1 durch PC.1 aktivieren
>>SetBitPortC( 1, 1);
>>// Handle schließen
>>ClosePLXDevice();
}
else
>>printf("Fehler");