Автор Тема: Побитово четене и писане в/у парал.порт  (Прочетена 1550 пъти)

angie

  • Напреднали
  • *****
  • Публикации: 46
    • Профил
С цел управляване на различни устройства ми трябва да пиша директно на определени шини на парал.порт и да чета състоянието им. Напр. с три шини избирам адреса на устройство, а с други 6-8 чета състоянието му. как би могло да се извърши това?
Активен

  • Гост
Побитово четене и писане в/у парал.порт
« Отговор #1 -: Jan 04, 2005, 10:39 »
Елементарно. Използвай побитовите операции в C или в езика който възнамеряваш да използваш (ако има такива). Направи си битови маски и чети и пиши каквото искаш. В Интернет има доста информация. Потърси.
Активен

  • Гост
Побитово четене и писане в/у парал.порт
« Отговор #2 -: Jan 04, 2005, 10:44 »
Тоя Astronom е чел нещо ама не го е дочел ... или само го е чул  от някой който е споменал битови операции и битови маски; )

Имах една такава колежка като тебе Astronome ... едно време ...

По някаква причина я бяха наели за project manager. К'вото и да я питаш тя си знаеше само за "краставицата" (от едноименния студентски анегдот). Издържа 3 седмици и малко ...
Активен

rpetrov

  • Напреднали
  • *****
  • Публикации: 571
    • Профил
    • WWW
Побитово четене и писане в/у парал.порт
« Отговор #3 -: Jan 04, 2005, 15:30 »
Вероятно ще трябва да ползваш функциите inb/outb и т.н.
С функциите от тази група четеш и пишеш по портовете.

Виж страница outb(2) от ръководството.
Активен

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Побитово четене и писане в/у парал.порт
« Отговор #4 -: Jan 04, 2005, 18:09 »
http://www.epanorama.net/circuits/parallel_output.html

Надявам се да съм помогнал ...
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

astronom

  • Напреднали
  • *****
  • Публикации: 254
    • Профил
Побитово четене и писане в/у парал.порт
« Отговор #5 -: Jan 04, 2005, 18:13 »
Цитат (Guest @ Ян. 04 2005,10:44)
Тоя Astronom е чел нещо ама не го е дочел ... или само го е чул  от някой който е споменал битови операции и битови маски; )

Имах една такава колежка като тебе Astronome ... едно време ...

По някаква причина я бяха наели за project manager. К'вото и да я питаш тя си знаеше само за "краставицата" (от едноименния студентски анегдот). Издържа 3 седмици и малко ...

Хайде стига бе!? Сериозно!? Такива всезнайковци като теб ги дъвча на закуска. Защо само цапаш форума с грозните си изявления? Идиот...

   Отностно писането и четенето от паралелен порт. Може да се отвори, пише и чете от паралелния порт (файла /dev/parport*) със функциите open(2), write(2) и read(2), които са силно преносими и с използване на битови маски да се пише или чете необходимата информация. Не знам какво му трябва на angie, но аз лично не бих използвал функциите inb(2)/outb(2), защото те са хардуерно зависими и като може да се прочете в man "They  are  primarily  designed for internal kernel use, but can be used from user space.".
Активен

Г. Д. Сотиров

rpetrov

  • Напреднали
  • *****
  • Публикации: 571
    • Профил
    • WWW
Побитово четене и писане в/у парал.порт
« Отговор #6 -: Jan 05, 2005, 11:46 »
Цитат (astronom @ Ян. 04 2005,18:13)
... Не знам какво му трябва на angie, но аз лично не бих използвал функциите inb(2)/outb(2), защото те са хардуерно зависими и като може да се прочете в man "They  are  primarily  designed for internal kernel use, but can be used from user space.".

Май идеята му е да си напише драйвер '<img'>, за да управлява нещо си.
Активен

angie_bg

  • Напреднали
  • *****
  • Публикации: 842
  • Distribution: Ubuntu 10.04
  • Window Manager: Gnome
    • Профил
    • WWW
Побитово четене и писане в/у парал.порт
« Отговор #7 -: Jan 06, 2005, 11:44 »
Благодаря на всички. Ще почета малко по предложените теми и ... пак ще питам '<img'>
Активен

zarrro

  • Напреднали
  • *****
  • Публикации: 46
    • Профил
Побитово четене и писане в/у парал.порт
« Отговор #8 -: Jan 06, 2005, 13:12 »
inb/outb искат root привилегии. Ако няма да броиш микросекунди по добре използвай /dev/port.
Виж тук.
Активен