Воскресенье, 18 Июня 2006 г. 00:13
+ в цитатник
Сноб все записи автора
Доброго времени суток уважаемые.
Существует следующая проблемма на Си.
Есть спецификация к оборудованию по настройке порта:
Baud rate: 9600bps (no negotiation, hardware selectable)
Start bit: 1
Data bit: 8(bit 0 = LSB, bit 0 sent first)
Parity: Parity none
Stop bit: 1
Код который я использую при настройке порта
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY );
fcntl(fd, F_SETFL, FASYNC );
tcgetattr(fd,&oldtio);
tcgetattr(fd,&newtio);
cfsetspeed(&newtio, B9600);
newtio.c_cflag |= (CLOCAL | CREAD);
newtio.c_cflag &= ~CSIZE;
newtio.c_cflag |= CS8;
newtio.c_cflag &= ~PARENB;
newtio.c_cflag &= ~CSTOPB;
newtio.c_cflag &= ~CRTSCTS;
newtio.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
newtio.c_oflag &= ~OPOST;
newtio.c_cc[VMIN] = 0;
newtio.c_cc[VTIME] = 0;
tcflush(fd, TCIFLUSH);
tcsetattr(fd,TCSANOW,&newtio);
Сама проблема состоит в том что при передаче устройству определенной последовательности оно в ответ начинает пардон срать в порт бесконнечную последовательность. Устройство сто процентов исправно. Есть предположение что это происходит вследствии неправильной настройки порта. Может я чего просмотрел требуется свежий взгляд или свежая голова.
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-