PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : COM Port!!!


:-=[L@ZeE]=-:
20.02.2002, 15:19
Ich habe ein unvorstellbar großes Problem!!!

Ich will mir ein Tool schreiben, womit man an den COM-Port ein paar taster hängt und damit dann verschiedene Befehle ausführen kann!!! Also z.B. Winamp steuerung!!

MFG

:-=[L@ZeE]=-:


Mimo
20.02.2002, 15:25
Hossa!

Über den COM-Port? Dann brauchst Du ja auf der Seite, wo Du die Taster haben willst, ja noch einen kleinen Rechner.

Am Parallelport könntest Du mehrere Taster (8 und viell. noch ein paar mehr) direkt dran hängen und dann prüfen, welcher davon gedrückt ist.

Aber am COM-Port hast Du eine serielle Datenübertrageung. Der Status der Tasten mus ja erst vom Programm an einen UART übergeben werden.

Gruss,
Mimo

Felix Kaiser
20.02.2002, 15:32
Zu dem gestatten nur Windows95/98 direkten Zugriff auf die Ports. Für andere Windowssysteme musst du Treiber schreiben und das ist alles andere als einfach.

Mimo
20.02.2002, 15:44
Das stimmt so nicht wirklich... ;)

Selbst unter Windows NT/2K/XP kann man mit ein paar APIs Proggis schreiben, die Daten über die COM-Ports austauschen.

Tricky wird´s bei NT & Co erst, wenn´s mit dem parallelport anfängt. Dafür benötigt man Treiber.

Mimo

Mimo
20.02.2002, 15:47
ähem.. Moment mal! :D

Wir ham hier doch VB! Unter VB gibbs das Microsoft Comm Control (MSComm). Damit geht´s natürlich noch einfacher. Läuft wie gesagt auch unter NT usw.

Aber Dein eigentliches Prob ist damit natürlich immer noch nicht gelöst! Ich würd da noch mal drüber schlafen... ;)

Felix Kaiser
20.02.2002, 21:04
Mach dich mal schlau über welche API Komandos die serielle Kommunikation läuft, dann könnt ich mal nen kleines UART FIFO coden.

Das mit den Treibern is ja klar, dafür kann man ja kostenlos den Windows DDK runterladen. Aber dann damit was anfangen .. :rolleyes:

:-=[L@ZeE]=-:
21.02.2002, 14:31
Danke, leute...

So jetzt weiß ich immerhin mal dass ich das Tool mit VB coden kann!!! Ancsheinend über dieses Comm Control!!!
Aber das mit der seriellen schnittstelle ist auch eine gute idee, denn da hat man 8 datenkanäle!!! :-) Aber ich habe da noch meinen Drucker dranhängen... Also, bleibe ich im moment noch beim COM-Port!!! So, aber jetzt muss ich halt noch wissen wie ich das realisieren kann!!!

Mimo
21.02.2002, 16:59
Du meinst, mit der parallelen Schnittstelle wäre es eine gute Idee. Wenn der Drucker nicht wäre... :D
Mein Vorschlag:

Du brauchst ja für das Senden der Tastenzustände eh eine Hardware, weil ja die parallen Daten in serielle umgewandelt werden müssen.

Wie wäre es stattdessen, wenn Du Dir für ein paar Mark fuffzig eine 2. parallele Schnittstelle für den PC holen würdest?

Btw... welches OS haste eigentlich?

Mimo

:-=[L@ZeE]=-:
21.02.2002, 17:54
ich habe schon eine software und Hardware die über den COM-Port funkt, aber das teil ist scheiße... und die Hardware sind einfach nur 4 taster... mehr ist da nicht!!!
ich nehme PIN 4 als Masse und schalte die auf jeweils PIN 1, PIN 6, PIN 8, PIN 9. Sonst brauchst man dazu nix!

cya LaZeE

Mimo
21.02.2002, 17:56
Hmm... Dann benutzt ds Ding die wenigen Steuerleitungen, die ein UART hat. OK, das geht auch.

Wenn 4 nicht reichen --> doch ´ne Parallelkarte reinbauen? :D

Mimo
21.02.2002, 18:00
Da fällt mir was ein...

Wenn die Taster nicht gleichzeitig gedrückt werden müssen, dann kannst Du mit 4 Bit ja 15 Taster verwenden. Aber eben nur einen zur Zeit.

Jeder der 15 Taster muss eben einen Code von 1..15 setzen -> also ggf. mehrere Leitungen ziehen.

Mimo

chesper
25.03.2002, 18:24
vielleicht hilft das ja weiter:

http://home.t-online.de/home/th-steinhauer/serielle.htm :) aber habe auch noch ein problem :mauer: : wie regel ich die spannung auf dem seriellen schnittstelle ?? (brauche 4.5 V +) thx

Felix Kaiser
25.03.2002, 20:15
Kleiner Trafo, externe Stromquelle :)
Oder rechnest aus, welchen Widerstand du brauchst, da die serielle Schnittstelle wie die meisten Schnittstellen eine 5V Stromquelle zur Verfügung stellen.

fabian ackle
25.03.2002, 20:31
hmm... und wie vie strom fliesst denn durch diese schaltung? währe dann einfacher zum berechnen ;)

Felix Kaiser
25.03.2002, 20:41
Weiß ich nich, 5V Spannung haste.

fabian ackle
25.03.2002, 20:56
na dann viel spass beim rechnen :D

U 0.5V
R = ----- = ----- = ???
I I


in diesem Fall würde ich dann doch eher einen externen Trafo oder eine 4.5V Batterie empfehlen ;)

greetz

dubious

Dominic Suter
25.03.2002, 22:02
Erst einmal: Wenn Ihr einfach einen Taster betaetigt und anschliessend auf ein Event reagieren wollt, wird das nicht einfach so funktionieren, da der Schalter erst entprellt werden muss, sonst habt ihr x Schalterbetaetigungen registriert. Die entprellung koennt ihr per Soft- oder Hardware machen.

Ich habe im I-Net eine Deklaration fuer max 6mA (RS232, also seriell) gesehen, wuerde das ganze also auf 4mA dimensionieren. Aber ich gebe keine Garantie!

Bibolorean
26.03.2002, 20:06
@ Stoenggi

Mal noch ne Frage zum entprellen:

Wie willst das machen?? Mit nem Schmitt Trigger?? Oder was? (Hardware mässig Bitte! Hab da nämlich noch n´kleines Problem bei ner elektronik Steuerung!) :O

Wobei.. Software mässig würd mich das auch noch doll interessieren!! :D

Greetz Bìbòlorean

Noboddy99
27.01.2003, 13:16
Hallo!

Ich interessiere mich auch für die Programmierung der Seriellen Schnittstelle! Muss da bald ein Projekt zu machen!

Wir haben auch ein kleines Gerät gebastelt, um die Leitungen einzustellen um eine Kommunikation zu simulieren! (Ist wahrscheinlich genau das gleiche, was du brauchst!)

Wir haben zum entprellen der Taster jeweils ein JK-FlipFlop davor geschaltet! Da musst du einfach nur die Schlatermitte auf 5 V setzen (oder 4,5 V) und dann kannst du in eine richtung so oft schalten, wie du willst! Da kommt dann nur ein Sprung durch! (Wäre halt dieses prellen!)

Ne Seite, wo so ein JK-FlipFlop beschrieben ist, hab ich leider nicht parat! Aber du findest eine Beschreibung in jeden guten Elektronikhandbuch!

Hoffe, das ich dir damit helfen konnte!

MfG
Chris

Dominic Suter
27.01.2003, 13:41
Die FF sind natuerlich ein gute Loesung, wenns per HW realisiert werden soll.

Software-Maessig geht das ganz einfach: Du pollst einen Eingang. Bei einer Aenderung des Ports wird der aktuelle Zustand einer Variabeln uebergeben und mit dieser Variabeln gearbeitet. Anschliessend kommt ein wait 500ms in den Code, damit der Schalterzustand nicht wieder ausgelesen wird, bevor er fertig ist mit schwingen (also auf dem "richtigen" Potential liegt). Falls alle moeglichen Reaktionen ueber 500ms dauern, kann man auf das Wait verzichten.
Der Wert 500ms ist eine HandgelenkxPi Zeit. Damit kann man spielen. Bei extrem zeitkritischen Anwendungen muesste man die Prell-Daten aus dem Datenblatt auslesen, die abarbeitung der schnellsten Software-Routine ausrechnen, diese Zeit von der Prell-Zeit subtrahieren und die Differenz als Wait verwenden. Allerdings wuerde ich dann eh auf das Polling verzichten und Interrupts verwenden.