Com- Port



  • Hallo,
    kann mir jemand sagen, wie ich unter C++ 2 einzelne Bits des seriellen Ports ansprechen kann? Ich muss für eine synchrone Ausgabe 2 Bits "von Hand" setzen können..

    Grüße famax



  • mit Standard C++ geht das nicht, benutzt du VCL/MFC bzw. Unix/Windows ? dan verscheibe ich den Thread in das passende Forum.



  • *grml* mal wieder zu lahm

    [ Dieser Beitrag wurde am 22.11.2002 um 13:14 Uhr von Knuddlbaer editiert. ]



  • Ich verwende Visual Studio unter Windows2000Prof.
    Bin leider blutiger Anfänger in C++.
    Hab das problem unter VisualBasic mit einem Zugriff auf kernel32-lib lösen können.
    Ich dachte in meiner Naivität, was unter VB geht , geht unter C++ erst recht...

    Grüße famax



  • Ich verscheibe den Thread mal ins WinAPI Forum.



  • hier gleich drei Möglichkeiten:

    1.Möglichkeit

    hCom =  CreateFile(TEXT("COM1"),  //Welche Schnittstelle
                       GENERIC_READ | GENERIC_WRITE,
                       0,  
                       0,  
                       OPEN_EXISTING,  //Öffnet eine bereits existierende Datei
                       0, 
                       0);
    setzen (1):
    EscapeCommFunction(hCom, SETDTR);  // ersetze DTR für andere Pins (->MSDN)
    
    löschen (0):
    EscapeCommFunction(hCom, CLRDTR);
    

    2.Möglichkeit (/edit: ups, ist nichts für Konsolenanwendungen, also kaum was für dich...):

    füge das ActiveX steuerelement deinem projekt zu und füge über den Klassen-Asisstenten eine Variable für das Steuerelemnt ein

    m_mscomm.SetDTREnable(); für löschen und andere pins siehe MSDN, wobei m_mscomm die Steuervariable des Steuerelemts ist
    

    3. Möglichkeit:

    #include <iostream>
    using namespace std;
    
    #include <conio.h> //Header Datei des Befehls
    #include <windows.h>
    
    #define LPT1 888 //Basisadresse des LPT1-Ports
    
    void main()
    {
    _outp(LPT1+0,0); //0 wird am Offset 0(Datenregister) ausgegeben
    
    return;
    

    Wenn nicht alles klar ist, sags einfach (hier, email(simon210@gmx.ch) oder ICQ(151415379)

    [ Dieser Beitrag wurde am 22.11.2002 um 20:52 Uhr von simon_210 editiert. ]

    [ Dieser Beitrag wurde am 22.11.2002 um 20:55 Uhr von simon_210 editiert. ]


Anmelden zum Antworten