Ahoj,
mam jeden malý problém, takže ja v C++ nerobím som Javista ale potrebujem si napísať v C++ funkciu ktorá mi na daný port vyšle signál. Ja si tú funkciu do Javy voperujem, len s tým adresovaním portov mám problém. Tak či by mi niekto neporadil alebo neposlal link.
Fórum › C / C++
Porty
Pis priste platformu (linux,win,..) at to ma smysl.
Nejrychlejsi to ale budes mit najit si nejakou uz hotovou free dll.
Pokud potrebujes neco specifictejsiho nebo to chces Ceckem vrhni se na tohle:
relativne snadne pristupne C++ s MFC
http://www.codeproject.com/KB/system/cserialport.aspx
Neobjektovy pristup:
Pro zapis pouzijes - po nakonfigurovani - WriteFile(...)
(budes tu potrebovat naucit se zachazet s vic funkcema)
DCB dcb;
HANDLE hCom;
DWORD dwError;
BOOL fSuccess;
hCom = CreateFile("COM1",
GENERIC_READ | GENERIC_WRITE,
0, /* comm devices must be opened w/exclusive-access */
NULL, /* no security attrs */
OPEN_EXISTING, /* comm devices must use OPEN_EXISTING */
0, /* not overlapped I/O */
NULL /* hTemplate must be NULL for comm devices */
);
if (hCom == INVALID_HANDLE_VALUE) {
dwError = GetLastError();
/* handle error */
}
fSuccess = GetCommState(hCom, &dcb);
if (!fSuccess) {
/* Handle the error. *
}
/* Fill in the DCB: baud=9600, 8 data bits, no parity, 1 stop bit. */
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
fSuccess = SetCommState(hCom, &dcb);
if (!fSuccess) {
/* Handle the error. *
}
/* Set the event mask. */
fSuccess = SetCommMask(hCom, EV_CTS | EV_DSR);
if (!fSuccess) {
/* deal with error */
}
/* Create an event object for use in WaitCommEvent. */
o.hEvent = CreateEvent(NULL, /* no security attributes */
FALSE, /* auto reset event */
FALSE, /* not signaled */
NULL /* no name */
);
assert(o.hEvent);
if (WaitCommEvent(hCom, &dwEvtMask, &o)) {
if (dwEvtMask & EV_DSR) {
}
if (dwEvtMask & EV_CTS) {
}
}
Linux:
http://www.linuxquestions.org/questions/programming-9/writing-to-serial-port-devttys0-24463/
dotaz na builderu.cz-http://forum.builder.cz/read.php?16,2823502
Ale obecně doporučuji to nebastlit na zelené louce a použít již hotovou odladěnou
třídu Tserial_event viz odkazy:
Popis:
http://www.tetraedre.com/advanced/serial2.php
Zdrojáky:
http://www.tetraedre.com/advanced/files/serial2.zip
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Moderátoři diskuze