Hallo
Wenn es nicht C sein muss - so könnte das in QuicBasic aussehen:
Code:
KEY(1) ON
ON KEY(1) GOSUB abbruch 'Abbruch mit der F1-Taste
tstart = TIMER
DO
OUT 1020, 1 'schaltet DTR an COM1 ein
DO
dt = TIMER - tstart
IF dt < 0 THEN dt = dt + 86400
LOOP WHILE dt < 180
OUT 1020, 0 'schaltet DTR wieder aus
DO
dt = TIMER - tstart
IF dt < 0 THEN dt = dt + 86400
LOOP WHILE dt < 3420
tstart = tstart + 3600
IF tstart >= 86400 THEN tstart = tstart - 86400
LOOP
abbruch:
END
Der TIMER zählt die Sekunden seit Mitternacht. Das mit den 86400 ist um Fehler zu verhindern, wenn das Programm über diese 0:00 Uhr-Grenze läuft. Und bevor gleich wieder Einwände kommen - das läuft auch unter XP (zumindest Pro) einwandfrei ohne irgendwelche Zusatzprogramme.
Gruss
Skilltronic
Lesezeichen