Zakładam nowy topic, ponieważ nie mogę odpisać w poprzednim (http://forum.nettigo.pl/topic/usb-a-rs#post-38).
Niestety nie mogę sobie z tym dalej poradzić.
Kompilator dla Arduino muszę mieć ustawiony na COM10. W moim laptopie w zakładce Zarządzanie komputerem/sprzęt/Porty mam tylko jeden port o nazwie USB Serial Port(COM10).
W mojej aplikacji gdy próbuję utworzyć połączenie za pomocą funkcji CreateFile dla COM10 występuje błąd. Wydaje mi się, że to przez to, że to jest funkcja obsługująca port RS a nie USB. Ktoś ma jakiś pomysł jak zmusić Arduino do komunikacji z laptopem ?
Wkleję listing mojej aplikacji:
'char data=0x00;
char data2=0x01;
DCB dcb;
HANDLE hNumPort;
LPSTR NumCom= "COM10";
hNumPort=CreateFile(NumCom,GENERIC_WRITE |GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
dcb.DCBlength = sizeof(dcb);
dcb.BaudRate= CBR_9600;
dcb.fParity= FALSE;
dcb.Parity= NOPARITY;
dcb.StopBits= ONESTOPBIT;
dcb.ByteSize= 8;
dcb.fDtrControl= DTR_CONTROL_DISABLE;
dcb.fRtsControl= DTR_CONTROL_DISABLE;
dcb.fOutxCtsFlow= FALSE;
dcb.fOutxDsrFlow= FALSE;
dcb.fDsrSensitivity= FALSE;
dcb.fAbortOnError= FALSE;
dcb.fOutX= FALSE;
dcb.fInX= FALSE;
dcb.fErrorChar= FALSE;
dcb.fNull= FALSE;
char znak;
if(SetCommState(hNumPort, &dcb))
{
cout<<"Utworzono"<<endl;
cin>>znak;
if (znak==0){
if(TransmitCommChar(hNumPort,data)){
cout<<"Wylaczono"<<endl;
};
}
else if(znak==1){
if(TransmitCommChar(hNumPort,data2)){
cout<<"Wlaczono"<<endl;
};
};
}
else {cout<<"Blad utworzenia"<<endl;
};
'