С Новым годом! Форум программистов, компьютерный форум, киберфорум
Железо в Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/40: Рейтинг темы: голосов - 40, средняя оценка - 4.65
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
1

Работа с портом LPT в линуксе

02.12.2018, 21:24. Показов 8382. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как управлять портом /dev/lp0 в линуксе (например, если карта на CH382 или динамодовская )? Как обеспечить управление направлением , ввод и вывод байта данных , чтение регистров адрес+1, адрес +2 , визуализировать их состояние ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.12.2018, 21:24
Ответы с готовыми решениями:

Работа с LPT портом
Здравствуйте, не могу разобраться(нагуглить) инфо по работе с lpt портом. Нужно отправлять данные,...

Работа с LPT портом
Добрый день форумчане, столкнулся с проблемой. Печатающее устройство получает информацию через...

Работа с LPT портом.
Добрый день. Необходимо написать программу которая бы поочередно посылала импульсы на 2 (D0) 3(D1)...

Работа с LPT портом
Доброго времени суток. Имеется матричный принтер. Для вывода текста использую рулонную бумагу. При...

4
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
02.12.2018, 21:27  [ТС] 2
Как написать на лазарусе и C++ GCC ( с LX Terminal , gcc - ... ) функциональный аналог программы LPTstatus для Линукса (можно, консольный )?
Вложения
Тип файла: rar LPTstatus.rar (175.0 Кб, 21 просмотров)
0
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
02.12.2018, 22:49  [ТС] 3
https://www.tldp.org/HOWTO/pdf... amming.pdf

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
 * example.c: very simple example of port I/O
 *
 * This code does nothing useful, just a port write, a pause,
 * and a port read. Compile with `gcc −O2 −o example example.c',
 * and run as root with `./example'.
 */
#include <stdio.h>
#include <unistd.h>
#include <asm/io.h>
#define BASEPORT 0x378 /* lp0 */
int main()
{
 /* Get access to the ports */
 if (ioperm(BASEPORT, 3, 1)) {perror("ioperm"); exit(1);}
 
 /* Set the data signals (D0−7) of the port to all low (0) */
 outb(0, BASEPORT);
 /* Sleep for a while (100 ms) */
 usleep(100000);
 /* Read from the status port (BASE+1) and display the result */
 printf("status: %d\n", inb(BASEPORT + 1));
 /* We don't need the ports anymore */
 if (ioperm(BASEPORT, 3, 0)) {perror("ioperm"); exit(1);}
 exit(0);
}
/* end of example.c */
Как читать биты 0x379h ,0x37Ah , как управлять направлением для ECP+EPP , как читать 0x378h ?


Как использовать ReadFile , WriteFile, CreateFile , GetCommState для LPT? А в линуксе для CH382 ? Когда будут драйвера ?

Добавлено через 2 минуты
http://forums.codeguru.com/sho... PT-problem

Добавлено через 1 минуту
http://www.kernelchip.ru/pcports/PS004.php

Добавлено через 2 минуты
http://www.qrx.narod.ru/komp/r_prin.htm

Добавлено через 1 минуту
http://www.cyberguru.ru/progra... l=&start=2

Добавлено через 33 секунды
http://ivt-margtu.narod.ru/ipu/t15.html

Добавлено через 51 секунду
http://proga-school.narod.ru/M... OM_LPT.htm

Добавлено через 1 минуту
http://sarfti.ru/wp-content/up... ktikum.pdf

Добавлено через 1 минуту
http://silver-dog.narod.ru/hands/ports/ports.htm

Добавлено через 1 минуту
http://www.algopas.narod.ru/sys/lptdos.htm
0
Почетный модератор
11531 / 4325 / 449
Регистрация: 12.06.2008
Сообщений: 12,428
02.12.2018, 23:03 4
Цитата Сообщение от USERPC01 Посмотреть сообщение
Когда будут драйвера ?
Судя по истории git'а, Linux умеет с ним работать:
parport: Add support for the WCH382 2S/1P multi-IO card

Вот описание по работе с LPT-портом в трёх режимах (через raw IO, через /dev/lp и через /dev/parport) https://mockmoon-cybernetics.c... rport.html
0
7 / 7 / 0
Регистрация: 29.06.2018
Сообщений: 1,536
03.12.2018, 00:39  [ТС] 5
А в стиле Access via /dev/lp, Full access via /dev/parport только для /dev/usblp0 , /dev/usb/lp0 для PL2305 (VEN11,VEN12)

(http://www.prolific.com.tw/US/... =6&pcid=41 ,
http://fen.pl/pub/sterowniki/P... 05_v11.pdf )?

Добавлено через 47 секунд
067B:2305 по lsusb

Добавлено через 3 минуты
https://www.linuxquestions.org... rt-654695/

Добавлено через 25 минут
Из https://www.tldp.org/HOWTO/pdf... amming.pdf

The port BASE+0 (Data port) controls the data signals of the port (D0 to D7 for bits 0 to 7, respectively;
states: 0 = low (0 V), 1 = high (5 V)). A write to this port latches the data on the pins. A read returns the data
last written in standard or extended write mode, or the data in the pins from another device in extended read
mode.
The port BASE+1 (Status port) is read−only, and returns the state of the following input signals:
• Bits 0 and 1 are reserved.
• Bit 2 IRQ status (not a pin, I don't know how this works)
• Bit 3 ERROR (1=high)
• Bit 4 SLCT (1=high)
• Bit 5 PE (1=high)
• Bit 6 ACK (1=high)
• Bit 7 −BUSY (0=high)
The port BASE+2 (Control port) is write−only (a read returns the data last written), and controls the
following status signals:
• Bit 0 −STROBE (0=high)
• Bit 1 −AUTO_FD_XT (0=high)
• Bit 2 INIT (1=high)
• Bit 3 −SLCT_IN (0=high)
• Bit 4 enables the parallel port IRQ (which occurs on the low−to−high transition of ACK) when set to
1.
• Bit 5 controls the extended mode direction (0 = write, 1 = read), and is completely write−only (a read
returns nothing useful for this bit).
• Bits 6 and 7 are reserved.
Pinout (a 25−pin female D−shell connector on the port) (i=input, o=output):
1io −STROBE, 2io D0, 3io D1, 4io D2, 5io D3, 6io D4, 7io D5, 8io D6,
9io D7, 10i ACK, 11i −BUSY, 12i PE, 13i SLCT, 14o −AUTO_FD_XT,
15i ERROR, 16o INIT, 17o −SLCT_IN, 18−25 Ground

для PL2305 распиновка разъема на 36 контактов:
https://uk.wikipedia.org/wiki/IEEE_1284

Добавлено через 1 минуту
Для примера кода
Bash
1
2
3
 
gcc -O2 -o example.c
./example.c
0
03.12.2018, 00:39
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.12.2018, 00:39
Помогаю со студенческими работами здесь

Работа с LPT портом в С++Builder
Народ помагите разобратся как работать в билдере с lpt портом :umnik:

Работа с LPT- портом на CH382L
Как в Dev-C++ управлять портом LPT1 на CH382L читать, записывать данные методом...

Работа с LPT- портом в Win32Forth
Добрый день. не знаю, в правильном ли разделе разместил тему. Среда программирования Win32Forth....

Работа с LPT-портом из ВСВ 6
Произвольные чтение и запись в LPT-порт. Builder не видит практически ни одной функции из DOS.H;...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала согласования+ стартер fast регистров. Файлы прилагаю. . . .
UserScript для подсветки кнопок языков программировани­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форм быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru