ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
2 июня
233401
Vladimir Ljaschko (13.01.2011 23:11, просмотров: 7428)
Подскажите плз по WIN API + последовательный порт. { numbytes=6; temp=WriteFile(port, buf_out, numbytes, &numbytes_ok, &Overlap); //send "Hello" printf("Sent %d bytes\n",numbytes_ok); ClearCommError(port, &temp, &ComState); if (temp) { result=7; printf("Error after sending\n"); } else { ReadFile(port, buf_in, 12, &numbytes_ok, &Overlap); // receive "Hello" - OK printf("Received %d bytes, data: [%s]\n", numbytes_ok, buf_in); result=0; for(;;) { buf_out[0]='!'; WriteFile(port, buf_out,1,&numbytes_ok,&Overlap); // send '!' ReadFile(port, buf_in, numbytes, &numbytes_ok, &Overlap); // ???? ClearCommError(port, &temp, &ComState); printf("-"); if (numbytes_ok) { snprintf(buf_show,numbytes_ok,"%s",buf_in); printf("%s",buf_show); } } } } На ком-порте шлейф rx-tx. Первоначальное HELLO отправляется и принимается, восклицательный знак отправляется в цикле, но не принимается. Таймаут приема установлен, из функции чтения вываливается постоянно с нулевым количеством принятых байтов, на экран постоянно выводится '-'