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...
zou iemand me tips kunnen geven over wat ik anders moet doen?
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 ]