Ansteuerung der seriellen Schnittstelle ?



  • Hi,

    ich würde gerne die serielle Schnittstelle über die Active X Komponente "ms comm control" ansteuern.
    Sowohl das Setzen einzelner Leitungen als auch das Senden eines ganzen Datenpaketes wollte ich realisieren.

    Die Dokumentation in der MSDN verstehe ich nicht und der Beitrag von "mynonA" in den FAQs ist für mich noch zu kurz gefaßt.

    Bitte, hat vielleicht jemand eine Dokumentation oder sogar etwas Code zu dem Thema ?

    Mit freundlichen Grüßen

    Bernd



  • Wozu ActiveX ?

    Eine Klasse für Seriell gibt in der FAQ.
    Sonst die Suchfunktion des Forums benutzen.



  • Hallo Unix-Tom,

    die "class CSERIELL" aus deinem Beitrag in den FAQs habe ich gesehen, allerdings dürfte diese Klasse nicht auf Änderungen des Zustandes am COM-PORT reagieren, oder ?

    Meine Frage wurde auch schon in ähnlicher Form von "MadCro, erstellt 14.06.2002" und "olimination.com, erstellt 13.11.2002" gestellt, jedoch führten die Beiträge wiederum zu dem schon erwähnten Beitrag von "mynonA" und einem Buchtipp ( nicht gerade günstig ).

    Mein Problem ist also immer noch nicht gelöst.
    Auch beim googeln sind die Ergebnisse äußerst dürftig.
    Es muß wohl ein großes Geheimnis sein?

    Gruß
    Bernd



  • Hallo,

    wirklich keiner eine Idee zum Thema "Comm Control" ?

    Gruß
    Bernd



  • Ich hab schon einige Steuerungssoftware unter Nutzung der seriellen Schnittstelle entwickelt.
    Beschreibe doch mal was Du machen willst. Ich kenne diese ActiveX- Komponente allerdings nicht.

    [ Dieser Beitrag wurde am 17.02.2003 um 22:01 Uhr von toosten editiert. ]



  • Hallo toosten,

    wie schon bei der Eröffnung dieses Themas erwähnt, möchte ich einzelne Leitungen der RS232, wie z.B. DTR von 0 auf 1 und wieder zurück, setzen können.
    Es sollte aber auch möglich sein eine normale serielle Kommunikation mit einer definierten Baudrate durchführen zu können.
    Zusätzlich müßten aber auch Pegeländerungen (Event) von außen an der Schnittstelle bemerkt werden.

    Zusammengefaßt ein Bsp.:
    1.) DTR auf 1 und über einen Taster zu RI wieder rein!
    2.) Normale serielle Datenkommunikation!

    Wäre Toll wenn Dir etwas dazu einfallen würde 😉
    Mit freundlichen Grüßen

    Bernd



  • also es gibt da eine gute DLL die dafür spitze geeignet ist, sie hieß port.dll, die wurde in einem buch entwickelt, die kann man sich aber nun oinline ziehen. Hab leider keinen Link, schau mal bei google.

    Dort gibts dann Funktion wie DTR() um einzelne Leitungen zu steuern



  • Original erstellt von BerndGr:
    **
    Zusammengefaßt ein Bsp.:
    1.) DTR auf 1 und über einen Taster zu RI wieder rein!
    2.) Normale serielle Datenkommunikation!
    **

    also 2 ist gar kein problem
    wenn man den port vernünftig einstellt und mit einem thread arbeitet kann man ohne probleme auf eingehende daten "warten"
    die zeit des wartens kann man bestimmen in ms

    dein problem 1 hab ich noch nicht gebraucht

    eventuell asm 😉

    [ Dieser Beitrag wurde am 18.02.2003 um 22:22 Uhr von toosten editiert. ]



  • Ich hab mal wieder das alte PC Intern 3 vorgekramt.

    Wozu willst Du eigendlich DTR & RI von Hand auslesen ?
    Die heutigen Betriebssysteme kümmern sich um die Kommunikation zwischen Schnittstelle und Gerät !!!

    So habe ich das immer gemacht:

    - Port öffnen
    - da Gerät dem Protokoll endsprechend abfragen
    - max. Zeit auf Antwort warten (im Thread) - die Wartezeit bestimme ich in ms
    - OnRead() wird vom Thread aufgerufen
    - Daten auswerten -> Gerät erkannt

    Also was willst Du steuern ?
    Gibt es dafür ein Protocol manual ?

    [ Dieser Beitrag wurde am 18.02.2003 um 22:39 Uhr von toosten editiert. ]



  • Hallo toosten,

    hast Du für Deinen Beitrag vom 18.02.2003 um 22:39 Uhr vielleicht ein kleines Codebeispiel ?
    Diese Thread-Geschichte ist mir nämlich nicht so ganz klar.

    Viele Grüße

    Bernd



  • ein Thread ist nicht unbedingt erforderlich ...

    - dem Thread die Klasse oder eine Funktion für OnRead übergeben
    - diese Funktion oder eine Methode der Klasse wird bei vorhandenen Daten vom Thread aufgerufen
    - die Daten sind dann in einem internen Speicher des Threads und müssen nur abgeholt werden

    Wichtig zu wissen ist nur ob Du wirklich alles von hand machen willst (comport) oder nur daten senden und empfangen willst. Der comport wird wie eine datei geöffnet und du kannst diesen dann so ähnlich wie dateien lesen und schreiben. Nur wenn Du die standardeinstellungen des comportes nutzt endsteht beim lesen eine "sehr lange" wartezeit.

    Diese läßt sich einstellen !!!



  • Hallo Leute,

    ich bin zum Thema "MS-Comm-Control" fündig geworden und jetzt funzt es 😉

    Hilfreiche Links:
    http://engr.smu.edu/~cd/EE5340/ActiveX.htm
    http://www.geocities.com/arazone/mfc.html
    http://www.codeguru.com/mfc/comments/9565.shtml

    Gruß

    Bernd


Anmelden zum Antworten