![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| lovemusic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
Доброго времени суток. Задача состоит в следующем. Есть LPT порт. К пинам DO-D7 подклбчены светодиоды. Нужно посредством функций WinApi обеспечить передачу байта информации, чтобы светодиоды загорелись, и значение удерживалось до тех пор пока не будет передан следующий байт. Пользоваться стороними библиотеками и драйверами нельзя. Написал код:
После запуска никаких изменений не происходит. Подскажите как решить проблему. |
|||
|
||||
| morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 2 Всего: 8 |
Нужно убедиться, что адрес порта правильный...может ты отправляешь в никуда.
Дальше, ты уверен, что после отправки 123 должна загореться лампочка? |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 0 Всего: 68 |
lovemusic, Что то мне подсказвает что надо не 123 слать, а по отдбености 1, 2, 3...
И почему '\\.\LPT1' ? http://www.pcports.ru/articles/10.php Это сообщение отредактировал(а) ~FoX~ - 9.11.2009, 19:44 |
|||
|
||||
| morpheyushka |
|
||||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 2 Всего: 8 |
Почти...можно и все сразу отправить...я так отправлял - работало все отлично:
В даном случае можно писать и просто LPT1. Конструкция "\\.\" используется для работы с портами, номера которых старше 9. Если попытаться подключиться к LPT11, то ничего не получится, а вот так - \\.\LPT11, все будет гуд. Для автора ветки: вычитывай зарегистрированные порты из реестра, приписывай, на всякий случай, к началу каждого порта "\\.\" и пробуй к каждому подключаться. Это сообщение отредактировал(а) morpheyushka - 10.11.2009, 10:49 |
||||
|
|||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 0 Всего: 68 |
Ахась, я уже сам нашел, но все равно спасибо за объяснение... +1
Кстати в CreateFile передается не стринг, а пичар т.е.
Это сообщение отредактировал(а) ~FoX~ - 10.11.2009, 11:08 |
|||
|
||||
| morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 2 Всего: 8 |
Точно...не досмотрел))))) Только я без FILE_FLAG_OVERLAPPED работал. Кстати, автору он тоже не нужен для его задачи. С ним только сложнее будет. То есть подключаться так:
|
|||
|
||||
| ~FoX~ |
|
||||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 0 Всего: 68 |
Нету у мя в системе лптешника, но вот что у меня получилось:
Вызываеца так
Думаю, что с лпт тоже самое прокатит... З.Ы. Тестил на Advensed Port Monitor, вро ди как данные попадают в порт верно... Это сообщение отредактировал(а) ~FoX~ - 10.11.2009, 11:53 |
||||
|
|||||
| morpheyushka |
|
|||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 2 Всего: 8 |
||||
|
||||
| lovemusic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
Пробовал оба варианта кода. Если писать в COM порт, то все идет отлично. При записи же в LPT то прошрамма просто зависает на строке
и все. |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 0 Всего: 68 |
lovemusic, Зависать может при обращении к несуществующему порту...
Сдернуто из ДРКБ определение наличие ЛПТ порта
Это сообщение отредактировал(а) ~FoX~ - 11.11.2009, 01:28 |
|||
|
||||
| lovemusic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
Проверил. Порт LPT1 существует. А при записи зависает
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 0 Всего: 68 |
lovemusic, Схему подключения твоего девайса покажи...
И какой у тебя режим работы порта? А драйвера на какой нить принтер не установлен в нем...? Это сообщение отредактировал(а) ~FoX~ - 12.11.2009, 09:20 |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 0 Всего: 68 |
Меняем концепцию....
Вот только с Addres нужно по колдовать.... Теоретически адрес = <Номер порта> or <Смещение регистра> |
|||
|
||||
| lovemusic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
Нарыл исходник библиотеки Inpout32.dll:
|
|||
|
||||
| lovemusic |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
Схема проста: ![]() Режим работы порта пробовал и EPP и ECP. Ни так ни так не работает. Драйвера не устанавливал. Принтера даже нету. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |