Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » MFC - ComPort und LPT1

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.07.2004, 15:43 Uhr
~wasa
Gast


Tagchen!
kann mir jemand sagen wie ich den LPT1 und den COM Port in MFC öffne und anspreche? ComPort habe ich soweit aber er liest nichts aus? Es ist sehr wichtig für mich zu wissen wie es mit dem LPT1 steht!
Desweiteren habe ich ne frage zu software. habe eine software und will an den quelltext kommen! wie, wenn überhaupt, ist das möglich?
Ich hoffe ihr könnt mir helfen!

VIELEN VIELEN DANK SCHON IM VORAUS!
cu wasa

PS: wen es interessiert, habe den quelltext zum öffnen/schreiben/lesen für den COM angehangen! Vielleicht kann mir jemand sagen was daran falsch ist.



C++:

#include "stdafx.h"
#include "COM_PORT1.h"

CCOM_PORT1::CCOM_PORT1(){
}

CCOM_PORT1::~CCOM_PORT1(){
}


HANDLE CCOM_PORT1::Open_Comport_HS(){
    HANDLE  DriverHandle;
    DCB     Our_DCB;

    
    DriverHandle = CreateFile ("COM1", GENERIC_READ | GENERIC_WRITE,
                               0, NULL, CREATE_NEW, 0, NULL);//OPEN_EXISTING
      
    if(DriverHandle!=0){
        GetCommState(DriverHandle, &Our_DCB);

        Our_DCB.BaudRate = 9600;        //2400
        Our_DCB.ByteSize = 7;
        Our_DCB.Parity   = NOPARITY;
        Our_DCB.StopBits = TWOSTOPBITS;

        Our_DCB.fDtrControl = DTR_CONTROL_ENABLE;
        Our_DCB.fRtsControl = RTS_CONTROL_HANDSHAKE;

          SetCommState(DriverHandle,&Our_DCB);

        return DriverHandle;
    }else
        return 0;
}

int CCOM_PORT1::Read_Comport_HS (HANDLE DriverHandle, DWORD NumBytes, void *Buffer){
    DWORD BytesRead;
    BOOL status;
    char *ptr;

    ptr=(char*)Buffer;
    status = ReadFile (DriverHandle, Buffer, NumBytes, &BytesRead, 0);
    ptr+=BytesRead;
    *(ptr)=0x00;
    return TRUE;
}

int CCOM_PORT1::Write_Comport_HS (HANDLE DriverHandle, DWORD NumBytes, void *Buffer){
    DWORD BytesWritten;
    BOOL status;
    status = WriteFile (DriverHandle, Buffer, NumBytes, &BytesWritten, 0);
    //printf("\nSendezahl: %d",NumBytes);
    return TRUE;
}




dazugehörige header datei:
#include <windows.h>

class CCOM_PORT1{
public:
CCOM_PORT1();
~CCOM_PORT1();

int modul, rc;
char DIB[100];
HANDLE Open_Comport_HS();
int Write_Comport_HS (HANDLE DriverHandle, DWORD NumBytes, void *Buffer);
int Read_Comport_HS (HANDLE DriverHandle, DWORD NumBytes, void *Buffer);
void code_abfrage(char *eb);
};


C++:
//Auszug aus der DLG cpp

void CBachelorDlg::ListenEintrag(CString s_text){
    

    CListBox * liste = (CListBox*) GetDlgItem(IDC_nachrichten);
    liste->AddString(s_text);

}

void CBachelorDlg::OnOeffnen()
{
    // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    com_ComHandle1=    com_port_1.Open_Comport_HS();
    ListenEintrag("COM1 offen");
}

void CBachelorDlg::OnLesen()
{
    
    char DOB[10], DIB[100];
    CString    s_Eintrag="";
    //DOB[0]=0x74;
    //DOB[1]=0x31;
    DOB[0]=0x44;
    DOB[1]=0x0d;
    
    com_port_1.Write_Comport_HS(com_ComHandle1, 2, DOB);
    ListenEintrag("D gesendet");
    Sleep(3000);

    com_port_1.Read_Comport_HS(com_ComHandle1, 14, DIB);
    s_Eintrag.Format("Inhalt: %d", com_port_1.rc);
    ListenEintrag(s_Eintrag);
    
    
}

void CBachelorDlg::OnDaten()
{
    // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    // Verzeichnisabfrage
}

void CBachelorDlg::OnLeeren()
{
    // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    int i;

    CListBox * liste = (CListBox*) GetDlgItem(IDC_nachrichten);
    i = liste->GetCount();

    for(int c=0;c<i;c++)
        liste->DeleteString(0);
}



 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: