Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
NoIZz Гость
|
Добавлено: Пт Июл 05 2002 20:08 Заголовок сообщения: Как прочитать данные из /dev/cua0 из скрипта? |
|
|
Есть консоль подключаемая к com порту. Н ней кнопки. При нажатии кнопки в порт летит некая последовательность символов (как запрограммируешь кнопки). Нужно, организовать в скрипте прием и обработку нажатий на кнопки консоли. Вопрос - как это сделать??? Грубо говоря алгоритм должен быть приблизительно следующий:
1.
if [$KEY = "A"] then KEYSTATUS=$KEY else 2. fi
P.S. Я человек в мире Linux новый и еще не во все вьезжаю... |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Пт Июл 05 2002 21:02 Заголовок сообщения: Перенаправь stdin |
|
|
Если ты умеешь читать с консоли, запускай скрипт так: скрипт < /dev/cua0 и читай командой read. Правда, там будут проблемы - чтение задерживается до ввода символа конца строкИ, так что придется делать что-то типа ioctl (к программированию на Си это тоже относится)... |
|
Вернуться к началу |
|
|
NoIZz Гость
|
Добавлено: Пт Июл 05 2002 23:19 Заголовок сообщения: Re: Перенаправь stdin |
|
|
Приблизительно понял. А вот можно ли организовать приблизительно такую структуру:
:1 чтение из порта в переменную A если A="B" то действие1 если А="C" то действие2 ... если A="A" то возврат к 1
Что-то вроде case но с безусловным переходом в начало...
Я последний раз программировал на паскале, фортране и asm году в 1994 и то для dos и rsx-os. С unix знакомлюсь последние полгода. А времени на все нехватает... |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Вс Июл 07 2002 07:56 Заголовок сообщения: И в Shell, и в Perl имеется оператор case |
|
|
Рекомендую посмотреть файлы /ets/rc* на тему программирования shell (они написаны на sh, а не на csh, который ставится по умолчанию как shell для юзеров). В Perl и в C-Shell тем более есть оператор case. Кстати, case в sh работает с регулярными выражениями, пример:
case $x [Aa][Uu][Tt][Oo] автоконфигурация ;; /* x можно рассматривать как путь к файлу от корня ;; esac
Переход в начало можно органзовать оператором цикла, а выход из него - оператором break.
Впрочем, я сам программирую не очень хорошо, так что пример м.б. неточен. RTFM, RTFM и еще раз RTFM! |
|
Вернуться к началу |
|
|
NoIZz Гость
|
Добавлено: Вс Июл 07 2002 10:34 Заголовок сообщения: Re: И в Shell, и в Perl имеется оператор case |
|
|
С case, while все понятно... А вот с чтением данных из /dev/cua0 в переменную нихрена!!! |
|
Вернуться к началу |
|
|
|