brauche dringend msvc++ 6 anwendung!

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • ja, hallo erst mal!
    BS: win xp
    CP: Microsoft Visual C++ 6
    wie ich bereits oben eingefügt habe, benötige ich dringend eine anwendung, die das activeX modul "mscomm" verwendet, um über die serielle schnittstelle zu kommunizieren!
    und zwar möchte ich hexadezimale werte ausgeben, und die ankommende antwort mit der funktion oncomm (oder so :D) aufnehemn und speichern!
    (info: ich verwendet einen one wire baustein von dallas, der mir den onewire bus verwaltet ... ds2480b, aber dies ist nebensächlich)
    ich habe bereits selbst ein solches programm erstellt, weiß jedoch nicht, warum ich keine daten senden bzw empfangen kann...
    die kommunikation sollte über RxD und TxD ablaufen!
    es sollen nur ausgabe und aufnahme funktionieren, absolut keine bauteilspezifischen anwendungen nötig!
    ich hoffe ihr könnt mir helfen!
    falls jemand mehr information benötigt, bitte einfahc posten ich werde dann weiter auskunft darüber geben!
  • MsComm ist nur für VB Entwickler gedacht. Also benutze lieber das, was dir Windows gibt.
    ein Beispiel aus der MSDN:

    Quellcode

    1. <br />#include <windows.h><br />#include <assert.h><br />#include <stdio.h><br /><br />void main( )<br />{<br />    HANDLE hCom;<br />    OVERLAPPED o;<br />    BOOL fSuccess;<br />    DWORD dwEvtMask;<br /><br />    hCom = CreateFile( "COM1",<br />        GENERIC_READ | GENERIC_WRITE,<br />        0,    // exclusive access <br />        NULL, // default security attributes <br />        OPEN_EXISTING,<br />        FILE_FLAG_OVERLAPPED,<br />        NULL <br />        );<br /><br />    if (hCom == INVALID_HANDLE_VALUE) <br />    {<br />        // Handle the error. <br />        printf("CreateFile failed with error %d.\n", GetLastError());<br />        return;<br />    }<br /><br />    // Set the event mask. <br /><br />    fSuccess = SetCommMask(hCom, EV_CTS | EV_DSR);<br /><br />    if (!fSuccess) <br />    {<br />        // Handle the error. <br />        printf("SetCommMask failed with error %d.\n", GetLastError());<br />        return;<br />    }<br /><br />    // Create an event object for use by WaitCommEvent. <br /><br />    o.hEvent = CreateEvent(<br />        NULL,   // default security attributes <br />        FALSE,  // auto reset event <br />        FALSE,  // not signaled <br />        NULL    // no name<br />  );<br />    <br /><br />    // Intialize the rest of the OVERLAPPED structure to zero.<br />    o.Internal = 0;<br />    o.InternalHigh = 0;<br />    o.Offset = 0;<br />    o.OffsetHigh = 0;<br /><br />    assert(o.hEvent);<br /><br />    if (WaitCommEvent(hCom, &dwEvtMask, &o)) <br />    {<br />        if (dwEvtMask & EV_DSR) <br />        { // DSR = Data set ready (data incoming)<br />             // To do.<br />        }<br /><br />        if (dwEvtMask & EV_CTS) <br />        { // CTS = Clear to send (data outgoing)<br />            // To do. <br />        }<br />    }<br />    else<br />    {<br />        DWORD dwRet = GetLastError();<br />        if( ERROR_IO_PENDING == dwRet)<br />        {<br />            printf("I/O is pending...\n");<br /><br />            // To do.<br />        }<br />        else <br />            printf("WaitCommEvent failed with error %d.\n", GetLastError());<br />    }<br />}<br />

    <a href='http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devio/base/monitoring_communications_events.asp' target='_blank'>http://msdn.microsoft.com/library/default....ions_events.asp</a>