Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/55: Рейтинг темы: голосов - 55, средняя оценка - 4.91
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452

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

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

Студворк — интернет-сервис помощи студентам
Нужно управлять LPT портом в BORLAND C++ 3.1
Подскажите каким образом осуществлять ввод и запись в порт информации.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.06.2013, 13:20
Ответы с готовыми решениями:

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

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

Управление Lpt портом
Подскажите, как управлять пинами lpt порта? Все, что нашел в интернете либо не работает, либо не компилится. Доп настроек на компьютере...

36
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
23.06.2013, 13:43
а у тебя дос стоит на компе что ли?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
23.06.2013, 14:55  [ТС]
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();
 
}
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.06.2013, 15:03
1. LPT-порт может быть отключен в биосе.
2. Адрес первого LPT-порта - 0x3BC, второго - 0x378, третьего - 0x278. Пробуй с первого.

Добавлено через 30 секунд
3. Windows может запретить доступ к порту для DOS-приложений.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
23.06.2013, 15:13  [ТС]
Не думаю, что он отключен. Я через LPT порт прошивал МК.
У меня всего 1 LPT порт. Написано, что LPT1.
Может я не все библиотеки подключил?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.06.2013, 15:18
Если бы ты не все библиотеки подключил, то твоя программа попросту не собралась бы.
Цитата Сообщение от RAFA91 Посмотреть сообщение
У меня всего 1 LPT порт.
Уточни его адрес в BIOS.
И позволь поинтересоваться, для какой цели тебе это нужно? Если ты это делаешь для своих собственных нужд, то можно порекомендовать специальные либы, если же это какая-то лаба - тогда вопрос решен, пишешь ты правильно.
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
23.06.2013, 15:25
...под DOS-ом TC запускает?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
23.06.2013, 15:29  [ТС]
Это мой курсовой проект. В разделе оборудование - диспетчер устройств - порты написано следующее.

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

Добавлено через 1 минуту
Говорят как-то можно через ассемблерные вставки управлять портом.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.06.2013, 15:31
Цитата Сообщение от RAFA91 Посмотреть сообщение
Говорят как-то можно через ассемблерные вставки управлять портом.
Нет никакой разницы что ты будешь использовать: outportb или ассемблерные вставки.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
23.06.2013, 15:34  [ТС]
А под функцию outportb не надо разве подключать библиотеку?
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.06.2013, 15:47
Я не пойму, у тебя программа компилируется или нет?

Добавлено через 9 минут
Да, и как ты это проверяешь?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
23.06.2013, 16:00  [ТС]
После нажатия Ctrl+F9 появляется окно командной строки.

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

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

C
1
printf("***********");
Добавлено через 48 секунд
Расширение файла С. Может надо было СPP ставить.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.06.2013, 16:08
Как ты проверяешь пишется в порт что-то или нет?
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
23.06.2013, 16:14  [ТС]
пишу в порт число 255 и цепляю туда светодиод с резистором. По идеи должен гореть, а он не горит.
Есть программа управления портом - WinLpt . Ею я выставлял на выходах порта 1 и 0, и все работало.
А вот от С++ 1 и 0 не выставляются.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.06.2013, 16:22
Очевидно что проблема в BORLAND C++ 3.1, который ты запускаешь из под Windows. Тут поможет либо "чистый" DOS, либо современный компилятор с либой от "третьих лиц".
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
23.06.2013, 16:25  [ТС]
Тоже самое мне говорили, по поводу графики. Однако работает нормально без DOSа.
В BORLAND C++ 3.1 есть папка DOS.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.06.2013, 16:33
Цитата Сообщение от RAFA91 Посмотреть сообщение
Тоже самое мне говорили, по поводу графики. Однако работает нормально без DOSа.
Ну как бы графика - графикой, а ввод и вывод через порты это нечто иное.
Например Windows позволяет изменять палитру через эмуляцию. Попробуй что-нибудь нарисовать в полноэкранном режиме, у тебя не получится.
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
23.06.2013, 17:46
Есть программа управления портом - WinLpt
раз TC не считает нужным ответить прямо на вопрос, то делаем вывод, что под Windows.

В BORLAND C++ 3.1 есть папка DOS.
чушь. Вам TC нужно работать с портом разрешенными методами через CreateFile(), либо через драйвер. К примеру, giveosys вам достаточно подключить и работать старыми методами вывода в порт, либо через inpout32/64.dll и ему подобными.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
23.06.2013, 18:27  [ТС]
Вроде как-то делают через ассемблерные вставки.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.06.2013, 18:35
Вот так это делается:
C++
1
2
3
4
5
_asm {
    mov dx, 378h
    mov al, 255
    out dx, al
}
А для тех "кто в танке":
Цитата Сообщение от lazybiz Посмотреть сообщение
Нет никакой разницы что ты будешь использовать: outportb или ассемблерные вставки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.06.2013, 18:35
Помогаю со студенческими работами здесь

Управление LPT портом
Хочу управлять портом LPT через уже установленный стандартный драйвер, отправляя ему управляющие IOCTRL. Как это сделать ? Где достать...

Управление LPT портом из Windows XP
Помогите решить проблему. Нужно чтобы например на рабочем столе было два значка один из которых включает 5 вольт на любом из выводов LPT, а...

Управление lpt портом, используя библиотеку inpout32.dll
Здравствуйте! Использую inpout32.dll Подскажите пожалуйста что писать в: PortAccess.Output(); что бы вывести в контакт 2-5 (выходы...

Управление LPT портом, что нужно для работы
Как можно управлять LPT какие дрова нужны как ими пользоваться очень много перерыл ничего не работает хочу сделать программу которая будет...

Полноценное управление LPT портом в Delphi, как лучше реализовать?
Большая просьба помочь разобраться в вопросе, как лучше управлять из Delphi LPT портом, так чтобы программа была универсальна и работала...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru