tiene seriales serial recibir puertos puerto mega libreria datos cuantos comunicacion visual-c++ serial-port arduino robot

visual-c++ - seriales - puerto serial arduino mega



ComunicaciĆ³n de puerto serie Arduino VC++ (1)

No puedo escribir una cadena en mi Arduino usando Visual C ++ . De alguna manera puedo abrir el puerto COM pero no puedo enviar datos al Arduino. ¿Cuál sería el problema en realidad en mi caso?

int main() { HANDLE hComm; hComm = CreateFileA("////.//COM11", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); if (hComm == INVALID_HANDLE_VALUE) { printf("com not opened"); } else { printf("COM OPENED"); } COMMTIMEOUTS cto = { 1, 100, 1000, 0, 0 }; DCB dcb; memset(&dcb,0,sizeof(dcb)); dcb.DCBlength = sizeof(dcb); dcb.BaudRate = 38400; dcb.fBinary = 1; dcb.Parity = NOPARITY; dcb.StopBits = ONESTOPBIT; dcb.ByteSize = 8; if(!SetCommState(hComm,&dcb)) { printf("HI"); } while(1) { char bag[]="L"; DWORD read=0 ; DWORD write=1; // Number of bytes to write to serial port // Decmial value to write to serial port WriteFile(hComm, bag,write,&write, NULL); } }


DCB correctamente cada miembro de la estructura de DCB . Lo más fácil es leer la configuración existente con GetCommState y luego cambiar solo las que le interesan.

En este momento, su control de flujo probablemente sea incorrecto.

Oh, también inicializó una estructura de tiempo de espera, pero nunca aplicó esas configuraciones al puerto.