Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.76
RAFA91
Заблокирован
#1

Управление LPT портом - C++

23.06.2013, 13:20. Просмотров 3486. Ответов 36
Метки нет (Все метки)

Нужно управлять LPT портом в BORLAND C++ 3.1
Подскажите каким образом осуществлять ввод и запись в порт информации.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2013, 13:20     Управление LPT портом
Посмотрите здесь:

Управление LPT портом под FreeBSD - C++
Здравствуйте! Пытаюсь откомпилировать следующий код под FreeBSD: #include <stdio.h> #include <fcntl.h> #include <sys/ioctl.h> ...

Как добавить управление RTS и DTR в работу с ком портом? - C++
Как можно добавить эти две линии в работу с портом? Нигде не смог найти нормального объяснения

Работа с LPT - C++
Всем привет !! У меня такая проблимка мне надо написать программу которая будет выщитывать двоичный код затем обращаться к лпт порту и ...

Программирование LPT - C++
Всем привет. Только недавно начал заниматься программированием на С++, и получил просьбу накодить программу считывания двоичного кода на...

Чтение из LPT порта - C++
LPT порт в режиме EPP. С некоторой частотой на него приходит последовательность импульсов, которые надо прочитать. Читать в бесконечном...

LPT порт, Ubuntu, code::blocks - C++
Итак, название темы говорит само за себя. Нужно в консольном приложении code::blocks под Ubuntu читать и писать данные из/в LPT-порт. Если...

И снова LPT порт и все вытекающие - C++
Собственно, проблема: на компе нужно заюзать LPT-порт в качестве банального IO. Грубо говоря: управление схемой (всякие там светодиоды,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
23.06.2013, 13:43     Управление LPT портом #2
а у тебя дос стоит на компе что ли?
RAFA91
Заблокирован
23.06.2013, 14:55  [ТС]     Управление LPT портом #3
SP3 у меня.
Даже графический режим работает.

Добавлено через 1 час 7 минут
Написал такой кусок. Вроде без ошибок, но сигналы на выходе порта не появляются. В чем может быть косяк?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
 
main()
 
{
 
         int data=255;
 
         outportb(0x378,data);
 
         getch();
 
}
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
23.06.2013, 15:03     Управление LPT портом #4
1. LPT-порт может быть отключен в биосе.
2. Адрес первого LPT-порта - 0x3BC, второго - 0x378, третьего - 0x278. Пробуй с первого.

Добавлено через 30 секунд
3. Windows может запретить доступ к порту для DOS-приложений.
RAFA91
Заблокирован
23.06.2013, 15:13  [ТС]     Управление LPT портом #5
Не думаю, что он отключен. Я через LPT порт прошивал МК.
У меня всего 1 LPT порт. Написано, что LPT1.
Может я не все библиотеки подключил?
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
23.06.2013, 15:18     Управление LPT портом #6
Если бы ты не все библиотеки подключил, то твоя программа попросту не собралась бы.
Цитата Сообщение от RAFA91 Посмотреть сообщение
У меня всего 1 LPT порт.
Уточни его адрес в BIOS.
И позволь поинтересоваться, для какой цели тебе это нужно? Если ты это делаешь для своих собственных нужд, то можно порекомендовать специальные либы, если же это какая-то лаба - тогда вопрос решен, пишешь ты правильно.
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
23.06.2013, 15:25     Управление LPT портом #7
...под DOS-ом TC запускает?
RAFA91
Заблокирован
23.06.2013, 15:29  [ТС]     Управление LPT портом #8
Это мой курсовой проект. В разделе оборудование - диспетчер устройств - порты написано следующее.

Диапазон ввода/вывода 0378 - 037F
Диапазон ввода/вывода 0778 - 077F
DMA 03

Добавлено через 1 минуту
Говорят как-то можно через ассемблерные вставки управлять портом.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
23.06.2013, 15:31     Управление LPT портом #9
Цитата Сообщение от RAFA91 Посмотреть сообщение
Говорят как-то можно через ассемблерные вставки управлять портом.
Нет никакой разницы что ты будешь использовать: outportb или ассемблерные вставки.
RAFA91
Заблокирован
23.06.2013, 15:34  [ТС]     Управление LPT портом #10
А под функцию outportb не надо разве подключать библиотеку?
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
23.06.2013, 15:47     Управление LPT портом #11
Я не пойму, у тебя программа компилируется или нет?

Добавлено через 9 минут
Да, и как ты это проверяешь?
RAFA91
Заблокирован
23.06.2013, 16:00  [ТС]     Управление LPT портом #12
После нажатия Ctrl+F9 появляется окно командной строки.

Добавлено через 39 секунд
Что-то типо ERROR не выскакивает.

Добавлено через 1 минуту
Вставлял исче такое для проверки работы программы.

C
1
printf("***********");
Добавлено через 48 секунд
Расширение файла С. Может надо было СPP ставить.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
23.06.2013, 16:08     Управление LPT портом #13
Как ты проверяешь пишется в порт что-то или нет?
RAFA91
Заблокирован
23.06.2013, 16:14  [ТС]     Управление LPT портом #14
пишу в порт число 255 и цепляю туда светодиод с резистором. По идеи должен гореть, а он не горит.
Есть программа управления портом - WinLpt . Ею я выставлял на выходах порта 1 и 0, и все работало.
А вот от С++ 1 и 0 не выставляются.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
23.06.2013, 16:22     Управление LPT портом #15
Очевидно что проблема в BORLAND C++ 3.1, который ты запускаешь из под Windows. Тут поможет либо "чистый" DOS, либо современный компилятор с либой от "третьих лиц".
RAFA91
Заблокирован
23.06.2013, 16:25  [ТС]     Управление LPT портом #16
Тоже самое мне говорили, по поводу графики. Однако работает нормально без DOSа.
В BORLAND C++ 3.1 есть папка DOS.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
23.06.2013, 16:33     Управление LPT портом #17
Цитата Сообщение от RAFA91 Посмотреть сообщение
Тоже самое мне говорили, по поводу графики. Однако работает нормально без DOSа.
Ну как бы графика - графикой, а ввод и вывод через порты это нечто иное.
Например Windows позволяет изменять палитру через эмуляцию. Попробуй что-нибудь нарисовать в полноэкранном режиме, у тебя не получится.
raxp
10155 / 6542 / 477
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
23.06.2013, 17:46     Управление LPT портом #18
Есть программа управления портом - WinLpt
раз TC не считает нужным ответить прямо на вопрос, то делаем вывод, что под Windows.

В BORLAND C++ 3.1 есть папка DOS.
чушь. Вам TC нужно работать с портом разрешенными методами через CreateFile(), либо через драйвер. К примеру, giveosys вам достаточно подключить и работать старыми методами вывода в порт, либо через inpout32/64.dll и ему подобными.
RAFA91
Заблокирован
23.06.2013, 18:27  [ТС]     Управление LPT портом #19
Вроде как-то делают через ассемблерные вставки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2013, 18:35     Управление LPT портом
Еще ссылки по теме:

Добавить в проект библиотеку для работы с LPT - C++
Доброго дня ! Решил поиграться с LPT портом. http://www.kernelchip.ru/pcports/PS002.php столкнулся с такой проблемой. в...

Работа с COM портом - C++
Добрый день! Решил поработать с COM портом. в строке Port=CreateFile(&quot;COM2&quot;,GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);...

Работа с COM портом - C++
Доброго времени суток, уважаемые форумчане! Помогите разобраться с COM портом. Хотя бы с чего начать. :help: На большинстве ресурсов...

Работа с COM - портом - C++
Не могу сделать чтобы, при работе с соm - портом возможно было выбирать как автоматические настройки по(default), так и ручные настройки....

Общение с com-портом - C++
Здравствуйте. Мне нужно передавать и принимать информацию через компорт. Как это делалось в Win98, я знаю, делал программу. Нужно это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
23.06.2013, 18:35     Управление LPT портом #20
Вот так это делается:
C++
1
2
3
4
5
_asm {
    mov dx, 378h
    mov al, 255
    out dx, al
}
А для тех "кто в танке":
Цитата Сообщение от lazybiz Посмотреть сообщение
Нет никакой разницы что ты будешь использовать: outportb или ассемблерные вставки.
Yandex
Объявления
23.06.2013, 18:35     Управление LPT портом
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru