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