-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в community_coding

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.12.2004
Записей:
Комментариев:
Написано: 536


Без заголовка

Воскресенье, 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);

Сама проблема состоит в том что при передаче устройству определенной последовательности оно в ответ начинает пардон срать в порт бесконнечную последовательность. Устройство сто процентов исправно. Есть предположение что это происходит вследствии неправильной настройки порта. Может я чего просмотрел требуется свежий взгляд или свежая голова.

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку