Ein einfaches Beispiel:
Code:
/*******************************************
** Pin5 ist Masse, Pin7 ist +10V (== AUS)
** Pin7 ist -10V (== EIN)
** Version 1 mit Funktion 'warte ()'
*******************************************/
#include <windows.h>
#include <time.h>
#define SWITCH_ON 3 // Minuten
#define SWITCH_OFF 57
void warte (int sekunden)
{
clock_t start;
sekunden *= CLOCKS_PER_SEC;
start = clock ();
while (clock() < start + sekunden);
}
int main (void)
{
HANDLE hPort;
hPort = CreateFile (TEXT("COM1"), GENERIC_WRITE,
0, NULL, OPEN_EXISTING, 0, NULL);
for (;;)
{
EscapeCommFunction (hPort, SETRTS); // RTS setzten Pin7
warte (SWITCH_ON * 60);
EscapeCommFunction (hPort, CLRRTS); // RTS rücksetzten Pin7
warte (SWITCH_OFF * 60);
}
CloseHandle (hPort);
return (0);
}
oder einfacher:
Code:
/*******************************************
** Pin5 ist Masse, Pin7 ist +10V (== AUS)
** Pin7 ist -10V (== EIN)
** Version 2 mit Funktion 'Sleep ()'
*******************************************/
#include <windows.h>
#define SWITCH_ON 3 // Minuten
#define SWITCH_OFF 57
int main (void)
{
HANDLE hPort;
hPort = CreateFile (TEXT("COM1"), GENERIC_WRITE,
0, NULL, OPEN_EXISTING, 0, NULL);
for (;;)
{
EscapeCommFunction (hPort, SETRTS); // RTS setzten Pin7
Sleep (SWITCH_ON * 60 * 1000);
EscapeCommFunction (hPort, CLRRTS); // RTS rücksetzten Pin7
Sleep (SWITCH_OFF * 60 * 1000);
}
CloseHandle (hPort);
return (0);
}
Blackbird
Lesezeichen