Also bei mir unter XP-Pro funktioniert es, XP-Home weiss ich nicht und mit 2000 geht es angeblich nicht. Wenn du wirklich auf 1/100 Sekunden genau messen willst oder sogar darüber hinaus, wäre es sowieso nicht schlecht, für diese Anwendung mit einer Startdiskette gleich unter echtem DOS zu booten. Dann klappt das mit dem COM-Port auch auf jeden Fall.
Ich habe dir mal ein kleines Testprogramm geschrieben, mit dem du nur mit Hilfe einer Büroklammer o.ä. feststellen kannst, ob der COM1 (und nur COM1 - für COM2 müsste ich was am Programm ändern) prinzipiell reagiert. Ist etwas primitiv, aber das eigentliche Stoppuhrprogramm lässt sich dann auch grafisch etwas anspruchsvoller gestalten
Hier ist noch die Anschlussbelegung der seriellen Schnittstelle. Die Pfeile zeigen an, ob es sich um einen Ein- oder Ausgang handelt. Verbindest du irgendeinen Eingang (ausser RxD) mit einem Ausgang, also z.B. CTS und RTS, dann piepst es (hoffentlich). Keine Angst, der COM-Port ist kurzschlussfestt, da kann nix passieren.
Hm... schlecht. Dann gibt es noch zwei Möglichkeiten. Sieh doch mal im Gerätemanager -> Anschlüsse -> COM1 -> Linksklick Eigenschaften -> Ressourcen nach, welchen Adressbereich die Serielle Schnittstelle auf dem Laptop hat, oder boote wie gesagt mal mit einer DOS-Startdiskette.
Die Einstellungen sind ok. Dann liegt es höchstwahrscheinlich wieder mal an Windows. Bei mir geht es wie gesagt. Vielleicht weiss noch jemand einen besseren Rat, mir fällt nur noch das echte DOS ein.
Das Problem ist prinzipiellerer Natur. Da wird auch mit C++ nicht viel mehr gehen. Eine Möglichkeit wäre ein VB-Programm, das eine passende .dll verwendet.
Ansonsten die .exe einfach mit auf die Startdiskette packen und von da starten, eine ntfs-Startdiskette erstellen ( http://www.ntfs.com/boot-disk.htm ) oder m BIOS mal nachsehen, ob da die selben Adressen für COM1 eingestellt sind.
Also das Programm soll so wie in diesem Beispiel aussehen, aber folgendes soll anders sein: Der Lichtschranken bewirk das 1. mal den Start Button, die nächsten male macht der Lichtschranken das, was der "Runde" -Button macht. Stoppen soll der benutzer, aber es wird nciht die Zeit bis zum Stopp für die letzte Runde genomen, sondern die letzte Runde vom Lichtschranken.
Lesezeichen