|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.11.2006, 20:16 | #1 |
Новичок
Джуниор
Регистрация: 19.11.2006
Сообщений: 1
|
Как работать с irda портом? PLZ.....
Господа, подскажите, как работать c инфракрасным портом?
Хотелось-бы получить пакет импульсов с irda порта, сохранить их, а потом вывести их обратно на irda. Допустим эмитировать обычный пульт ду, предварительно записав комбинации всех его кнопок в комп. Или подскажите - что и где почитать? |
19.11.2006, 20:42 | #2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,501
|
есть наработки, давай посмотрим. ты думаешь каждого программиста интересует эта тема?
ждём твоих наработок в этой области, и обещаем помощь |
19.11.2006, 20:45 | #3 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
блин, кто-то же на старом форуме как раз такое и делал... тема была какая-то, там он с пультом работал, у него всё ок было, но ошибка в другом была, т.е. с ифракрасником у него всё нормально было. ни кто не помнит кто это был?
|
10.08.2008, 15:27 | #4 |
Регистрация: 09.08.2008
Сообщений: 4
|
Смысл работы пульта ДУ для стандартной бытовой техники (телевизор, видак, кондиционер и т. п.) сводится к тому, что портативное устройство (то бишь пульт) имеет ПЗУ, в которую вшита команда для каждой кнопки. По нажатию кнопки пульт высылает от 8 до 24 (приблизительно) байтовых команд на инфракрасный светодиод. Через камеру/фотоаппарат, можно видеть, что пульт "мерцает", т. е. высылает последовательность команд (вспышка), делает задержку (затухание) и снова повторяет последовательность. Так длится до тех пор, пока нажата кнопка.
Скорее всего, для посылки ряда команд с определённным интервалом и организации задержки между последовательностями в пульт вшит генератор тактовых импульсов очень палой частоты (по современным меркам). Для перехвата последовательности достаточно вести непрерывный опрос порта и при смене входного сигнала на порте типа IrDA выводить его новое значение на экран (как один из вариантов). Я это делал через Pascal командой port(). Вся загвоздка в том, что при выводе этой же последовательности через порт IrDA на ПК вся линейка байт выстреливается быстрее, чем пульт успевает передать один байт своей последовательности. Техника просто не успевает прочитать этот ряд и остаётся в бездействии. Главный на сегодня вопрос: как отследить, сколько времени пульт держит каждый байт последовательности на выходе? Средств Pascal недостаточно - слишком малая чувствительнность по времени (для gettime). Delphi может помочь в этом случае, но он не воспринимает команду port(), а значит ломиться надо через Assembler, как вариант, вписанный в то же дельфийское приложение. Люди добрые! Подскажите, как Delphi и Assembler могут обмениваться данными, чтобы вписывать значения, полученные с порта в дельфийские переменные. P.S. Работать напрямую с потром под ОС Windows возможно при помощи программы Userport - дело верное, сам проверял. |
23.08.2008, 20:04 | #5 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Меня тоже тема интересует. Ответте пожалуйста
pushl $0x18E3DF6B
call ICQ |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Управление LPT портом | nikleb | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 27.05.2010 19:40 |
Программирование IrDA-железки | FlyWind | Общие вопросы Delphi | 2 | 10.08.2008 15:30 |
работа с COM портом | ShAzat | Общие вопросы Delphi | 8 | 28.05.2008 20:08 |
работа с ком портом | UROKSAN | Общие вопросы Delphi | 0 | 05.05.2008 06:28 |
Работа с LPT портом | chingiz | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 17.11.2007 21:21 |