USB -> RS-232 ломает ответ устройства
Привет! Прибор (осциллограф) подключается к ПК через
/dev/ttyS0
Добавил в цепочку конвертер USB-RS232 и
За чтение отвечает вот такая функция:
void GDS::getAnswer(){
unsigned char buf[OUTBUFF];
int n = RS232_PollComport(GDS::port, buf, OUTBUFF-1);
if (n > 0) {
buf[n] = 0; /* always put a "null" at the end of a string! */
for (int i = 0; i < n; ++i) {
if (buf[i] < 32) /* replace unreadable control-codes by dots */
{ buf[i] = '.'; }
}
std::cout << "Received: " << (char*)buf << std::endl;
}
else {
std::cerr << "Wrong command." << std::endl;
}
}
Использую переходник PL-2303 XA/HXA от Prolific, драйверы взял с прилагающегося диска.
Кто-нибудь сталкивался с таким поведением этого (или другого подобного) конвертера? В какую сторону копать? Спасибо!