Toon posts:

[C++] lezen van com1

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik probeer een programma te maken dat als functie heeft het monitoren van de compoort.
Het enige dat het moet doen is alle data die op de com1 binnenkomt, wegschrijven naar een logfile.
Dit is mijn eerste poging om een poort aan te spreken, en het gaat uiteraard fout.. ;)
Op een site kwam ik een handleiding met wat voorbeelden tegen,
alleen gingen die ervan uit dat ze met een modem gingen communiceren,
ik heb het nu zo aangepast dat het voor mijn gevoel wel oke is, maar werken doet het niet...

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <stdio.h> 
#include <windows.h> 

int main(int argc, char *argv[]) { 

HANDLE hCom; 
COMMPROP commProp = {0}; 
COMMCONFIG commConfig = {0}; 
DCB dcb = {0}; 
BOOL fSuccess; 
DWORD bytesRW; 
char *pcCommPort[] = {"COM1","COM2"}; 
char mdmData[512]; 
char tempData[20]; 
int i; 


while(1) { 


        // Open a COM port 
            hCom = CreateFile( 
            pcCommPort[0], 
            GENERIC_READ | GENERIC_WRITE, 
            0, // comm devices must be opened w/exclusive-access 
            NULL, // no security attributes 
            OPEN_EXISTING, // comm devices must use OPEN_EXISTING 
            0, // Non-overlapped I/O 
            NULL // hTemplate must be NULL for comm devices 
            ); 

    
            
            fSuccess = GetCommProperties( 
                hCom, // handle to comm device 
                &commProp // communications properties 
            ); 


    printf("\nAll okay, closing comport %s", pcCommPort[0]); 

//  CloseHandle(hCom); 



        fSuccess = GetCommState( 
            hCom, // handle to comm device 
            &dcb // device-control block 
        ); 


            dcb.BaudRate = 19200; // set the baud rate 
            dcb.ByteSize = 7; // data size, xmit, and rcv 
            dcb.Parity = EVENPARITY; // even parity bit 
            dcb.StopBits = ONESTOPBIT; // one stop bit 

            fSuccess = SetCommState( 
                hCom, // handle to comm device 
                &dcb // device-control block 
            ); 

// blablabla read


                    while(1) { 
                        memset(mdmData, '\0', sizeof(mdmData)); 
                        fSuccess = ReadFile( 
                        hCom, 
                        mdmData, 
                        sizeof(mdmData), 
                        &bytesRW, 
                        0 
                    ); 



//printf ("\nReadFile succeeded at %s.", pcCommPort[0]); 
printf("%s", mdmData); 

//strupr(mdmData); 

} 
} 



if (hCom != INVALID_HANDLE_VALUE) { 
CloseHandle(hCom); 
} 

return(0); 
}


zou iemand me tips kunnen geven over wat ik anders moet doen?

[ Voor 3% gewijzigd door Verwijderd op 28-06-2003 15:14 ]


  • CRiMiNaL
  • Registratie: Mei 2002
  • Laatst online: 10-01-2024

CRiMiNaL

Witlof ^^

wat doet hij niet, welke foutmeldingen krijg je ? heb je wel com-poort extensies geinstalleerd. ect ect .... wil je iets meer informatie geven

... MMORPG Addict.


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

468 resultaten in GoT search. Not to mention de letterlijke examples in MSDN.

* curry684 wordt een beetje moe van de wekelijkse vraag hoe de COM-poorten aan te sturen. :Z

edit:
468 dus zodra je 'P&W' aanvinkt

[ Voor 11% gewijzigd door curry684 op 28-06-2003 15:17 ]

Professionele website nodig?


Dit topic is gesloten.