![]() |
|
Модераторы: xvr |
![]()
|
|
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
А топором ее не пробовал 1. Переменную val рекомендуется инициализировать (например нулем) 2. Убери O_NDELAY из open - у тебя порт открывается в асинхронном режиме, т.е. write возвращается когда реальные данные еще не передались, и соотвественно read'у еще нечего читать. При этом read так же возвращается немедленно (но с ошибкой), ничего не прочтя и не присваивая никаких данных в переданную ему память, т.е. в переменной val у тебя мусор. 3. Почитай какой нибудь букварь по работе с COM портом, там все не так просто :( |
||||
|
|||||
| theworldcreator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 362 Регистрация: 25.8.2007 Где: Москва Репутация: нет Всего: 13 |
Букварь сейчас поищу.
Теперь(после выполнения ваших, xvr, советов) программка стопорится на чтение(я перед каждым действием поставил вывод на экран, например "Writing...", а после "OK\n") на неопределенный срок(уже минут пять висит). |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
И будет висеть и дальше |
|||
|
||||
| theworldcreator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 362 Регистрация: 25.8.2007 Где: Москва Репутация: нет Всего: 13 |
Блин, что то ни букваря, ни включения буферизации не могу найти:( Лучшее что обнаружил, это вот это руководство: http://www.opennet.ru/docs/RUS/serial_guide/
И вот этот кусок кода:
Но все равно не смог прочесть значение(( |
|||
|
||||
| xvr |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Добавь
так же можно попробовать вернуть O_NDELAY в открытие порта и добавить код
|
||||||||
|
|||||||||
| theworldcreator |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 362 Регистрация: 25.8.2007 Где: Москва Репутация: нет Всего: 13 |
На строчку
ругается следующим образом
Если ее закоментить, то компилятор молчит, но значение не читает. |
||||
|
|||||
| xvr |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
А порт вообще работает (с соединенными ногами 2 и 3)? Попробуй подключиться к нему каким-нибудь терминалом и попечатай - должно быть эхо (в терминале надо выключить аппаратный handshake и эхо). Если работает, то дай текущую версию твоего кода - будем смотреть дальше. |
||||||
|
|||||||
| xvr |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Еще попробуй CRTSCTS вместо CNEW_RTSCTS |
||||||
|
|||||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |