ich war hier: InitCounter

Version [75278]

Dies ist eine alte Version von InitCounter erstellt von FabianEndres am 2017-01-01 20:43:45.

 

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");
Diese Seite wurde noch nicht kommentiert.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki