Thomas hat ja keine seriellen Daten, sondern nur zwei popelige
Schalterstellungen. Möglicherweise könnte sich auch ein
bidirektionaler USB-Parallel-Adapter mißbrauchen lassen.
Gruß
Carlos
Hallo Matthiasm
gibt es eigentlich auch Parallel-USB - Adapter, beim seriellen Anschluss
habe ich ja nur eine DAtenleitung. Kennst du da eine Quelle?
Thomas
bei 2 Schaltern reicht jedes beliebige USB2Seriell kabel. Die billigsten
gibt es bei Ebay als Händikabel. Was Du brauchst ist alles schor drauf.
Einfach TxD oder eine der Handshakeausgänge (RTS DTR) auf HIGH legen, und
eine andere auf LOW dann den Schalter mit Pullup oder pulldown an einen der
5 Eingänge (DCD, DSR, CTS, RI und RxD) legen und deren Status via API (siehe
elektor 3/2002) oder DLL (ich nehm meist die seriell.dll von elektor 3/2003,
es gibt aber soooo viele im Netz.) abfragen. Bei Händikabel sind aber oft
nicht alle Statusleitungen bis zum Stecker herausgeführt. Wenn man die
Vergußmasse aufschneidet kommt man meist auf den Rest.
USB2Parallel-Wandler würde ich nicht nehmen wollen. Wenn es mehr als 5
Schalter werden sollen, dann hängt man lieber an die Serielle noch ein
bischen Logik, oder meinetwegen auch einen einfachen µC dran.
Marte
Hallo Marte,
wenn ich dich richtig verstanden habe, kaufe ich ein Handykabel,
schneide es auf, und lege die Leitungen, die nicht Masse und nicht +5 V
sind mit meinen Schaltern gegen Masse oder gegen 5 V.
Was dann passiert kann ich über eine Funktion, die ich in der
seriell.dll finde abrufen. Muss ich sonst keinen Treiber für den
USB-Port installieren?
Das klingt einfach.
Wo finde ich die seriell.dll und evtl. eine Dokumentation über die
Funktionen?
Sorry, wenn ich genau nachfrage, ich mache das zum ersten mal.
Gruß und Danke für die Hilfe
Thomas
Natürlich, den Treiber zum USB2Seriell-Chip. den gibt es mit dem Kabel /
Wandler dazu.
ist es auch.
www.elektor.de nach der Ausgabe 3/2003 suchen "Serieller Port-Treiber für
Windows". Da ist beschrieben, wie es geht
http://www.elektor.de/jahrgang/2003/marz/serieller-port-treiber-fur-windows.62093.lynkx
Im Prinzip reicht der Download schon. Da liegen die Delphi Quelltexte drin,
die reichen als Doku eigentlich ;-) Das Demo-Programm läuft bei mir nicht,
egal, die Routinen haben geklappt :-)
Falls Du dir den Artikel besorgst: Ändere auf Seite 34 in Tabelle 1
DetDCD in GetDCD
BitPerByteSet in BitsPerByteSet
Alternativ besorge Dir den Artikel "Serielle Schnittstellen unter Windows"
aus der elektor 3/2002. Da steht drin, wie man das richtig zu Fuß mit der
Windows API macht, ohne DLL.
Dann lass das mal mit dem Händikabel und besorg Dir ein USB2Seriell Adapter
für ca 10 Euronen bist Du dabei. Dann legst Du Dir noch einen DSUB9 Mädchen
zu, mit dem Du Deine Schalter an den Adapter verbindest. Diese Adapter sind
in der Regel Kurzschlußfest. Da kann man quasi nichts kaputtmachen. Eine
zusätzliche Versorgungsspannung brauchst Du auch nicht. Das ist am
sichersten zu bauen.
Du brauchst also 4 Widerstände ca. 22 kOhm
das eine Ende dieser Widerstände kommt auf Pin 7 (RTS) die anderen Enden an
die jeweiligen Eingänge (DCD = Pin 1, DSR = Pin 6, CTS = Pin 8, RI = Pin 9).
Die Schalter legst Du dann von den Jeweiligen Eingängen zu Pin 4 (DTR). Das
wars schon an Löterei. Den Rest machst Du Per Software z.B. mit der
seriel.dll:
OpenCOM
SetRTS
ResetDTR
Schleife
CheckInputs
GetDCD
GetDSR
GetCTS
GetRI
Wasauchimmer
CloseCOM
Viel Spaß
Marte
On Mon, 6 Aug 2007 13:19:55 +0200, Marte Schwarz wrote:
Waer's nicht einfacher und billiger, eine USB-Maus zu schlachten,
vorzugsweise eine mit passenden Treibern und einem halben Dutzend
Microschaltern?
Schoenen Gruss
Martin
Wenn man sein Programm dann ohne Mausunterstützung haben will, vielleicht,
so richtig einfach ist das mit 2 unabhängigen Mäusen in Windoof auch wieder
nicht.
Marte
On Tue, 07 Aug 2007 11:14:23 +0200, Thomas Mangold wrote:
Oftmals werden da Maustreiber mitgeliefert, wo man selbst die
Tasten-Eingaben mit Programmaufrufen belegen kann.
Ich habe keine Ahnung, wer sowas wie die Logitech MX518 braucht - die
hat acht Tasten zu bieten.
http://www.logitech.com/index.cfm/mice_pointers/mice/devices/187&cl Þ,de
Schoenen Gruss
Martin
Garantiert nicht einfacher als die seriellen Portpins, das geht wie gesagt
mit Bordmitteln, oder man macht sich das Leben noch einfacher und nimmt eine
der vielen dll.
und kostet ein vielfaches der USB2Seriell Wandler. Dafür gibts mindestens 5
USB-Seriell-Wandler zzgl USB-Hub macht 20 Schalterabfragen...
Marte
Hallo Marte,
ich habe mir beim Mediamarkt ein USB2Seriell-Kabel gekauft (ich konnte
zwischen zwei aussuchen Hama für 39,80 und Sitecom für 29,80) und ein
USB2Gameport für ca. 10 Euro.
Beide erscheinen im Gerätemanager. Es fehlt jedoch bei beiden die
Registerkarte Resourcen.
USB2Seriell wird als COM6 angezeigt. Bei COM1 finde ich unter Resourcen
den E/A-Bereich von 03F8-03FF. Bei dem Sitecom-Kabel erkenne ich keinen
E/A-Bereich. Wie soll ich dann das Signal abfragen?
Für einen weiteren Tipp wäre ich dankbar.
Gruß
Thomas
Wucher!!! Das hätte Dir Frau Reichelt für das weniger als das halbe Geld
nach Hause bringen lassen.
Wozu denn :-)
Genau damit: OpenCOM (6), wenn Du die Serial.dll aus der Elektor nimmst. Ach
so: Achtung: Die serial.dll kann nur mit einem COM-Port gleichzeitig
arbeiten. Wenn Du zwei COM-Ports simultan brauchst, dann muss man sich eine
andere suchen, oder die serial.dll aufbohren. Die Delphi-Quellen sind ja
dabei. Wenn man die verstanden hat, dann geht das ganze aber auch zu Fuß bzw
via API(a).
Das wird die eingebaute Serielle sein. Unter Windows wird man diese nicht
mehr über die E/A-Adressen ansprechen wollen.
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.