Какой простой язык программирования использовать для программирования параллельных портов в Linux?

Мой отец хотел бы использовать Ubuntu для программирования LPT (через релейную плату). Он привык к QBasic и PowerBasic, но готов выучить новый (простой) язык для своих целей.

Какие рекомендации вы можете дать мне для этого задания?

Python был бы моим любимым, если бы модуль pyParallel работал. Если есть другие модули, доступные для Python, дайте мне знать.

Я не могу сменить аппаратное обеспечение, требуется только сменить программное обеспечение.

Заранее спасибо за любые подсказки!

4 ответа

Решение

Модуль Python pyParallel работает. Я попробовал релиз в прошлый раз. Вчера я использовал ревизию HEAD, и она работает.

Для тех, кто пытается сделать ту же процедуру:

  1. Загрузите и установите HEAD-версию pyParallel.
  2. Выгрузить модуль ядра lp и загрузить ppdev, Это позволяет вам получить доступ к файлу устройства параллельного порта.
  3. а) Добавить пользователя вашей ОС в группу lp так что он имеет доступ к записи /dev/parport*,
    б) В противном случае выполните это: # chmod a+rw /dev/parport*
  4. Взломай свою программу!

Шаги 2., 3. б) и 4. должны повторяться при каждой перезагрузке. Черный список не работает должным образом (пока).
Вы можете создать udev Правило для файла устройства parport, чтобы каждый пользователь имел доступ к нему для записи.
Обновление: черный список теперь работает. Это была ошибка в Ubuntu 9.04 с CUPS. В 9.10 работает отлично.

Счастливого взлома!

Python не проще, чем Basic. Но я думаю, что для параллельного порта и другого аппаратного программирования C является естественным выбором. Это не так сложно учиться, и стоит потратить некоторое время на изучение C.

http://www.mono-project.com/Visual_Basic Он, по крайней мере, будет знаком с языком, но получить доступ к параллельному порту - более сложная задача. Я знаю, что есть способ, но все примеры онлайн имеют дело с библиотеками Windows.

Альтернативой может быть Arduino, он имеет собственную IDE и может взаимодействовать с множеством языков, а также работать на всех платформах. Это больше для любителей, но может сработать для вас.

Другие вопросы по тегам