Работа с LPT портом

Модератор: Fastman

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Darkwolf
ефрейтор
Сообщения: 53
Зарегистрирован: 2010-04-25 12:53:03
Откуда: Архангельск
Контактная информация:

Работа с LPT портом

Непрочитанное сообщение Darkwolf » 2011-03-29 14:08:09

День добрый!
Подскажите способ работы с LPT портом под виндой. Юзаю компилятор MinGW.
В инете нарыл вот такое решение:

Код: Выделить всё

#include <stdio.h>
#include <unistd.h>
#include <io.h>

#define base 0x278
#define time 100000

int main(){
  int x = 0x32;
  printf("идет импульс в парралельный порт !\n");
  if (ioperm(base,3,1))
  printf("Couldn't get port at %x\n", base), exit(1);
  if (ioperm(base, 3, 1)) {perror("ioperm"); exit(1);}
  while(1){
    outb(x, base);
    usleep(time);
    outb(0, base);
    usleep(time);
  }
}
exit(0);
Но это, как я понял чисто никсовое, т.к. библиотека io.h, что идёт с виндовым MinGW не содержит функций ioperm и outb.
Если где-то ляпнул глупость не серчайте, с Сями знакомлюсь не давно и в основном эпизодически :smile:
Да, чуть не забыл сказать, что мне нужно не просто передать байт в порт, а выставить конкретные биты на нужных мне пинах разъёма.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/


Аватара пользователя
Darkwolf
ефрейтор
Сообщения: 53
Зарегистрирован: 2010-04-25 12:53:03
Откуда: Архангельск
Контактная информация:

Re: Работа с LPT портом

Непрочитанное сообщение Darkwolf » 2011-03-29 19:39:19

Гость писал(а):везде одна глупость
Не понял, обоснуй?! :evil:


Аватара пользователя
Darkwolf
ефрейтор
Сообщения: 53
Зарегистрирован: 2010-04-25 12:53:03
Откуда: Архангельск
Контактная информация:

Re: Работа с LPT портом

Непрочитанное сообщение Darkwolf » 2011-03-30 15:47:42

Значит всё же через CreateFile. Думаю просто как на линух потом будет портироваться моя софтинка, если понадобится.
И ещё вопрос. По той ссылке в примере используются библиотеки stdafx.h и iostream.h, их у меня не находит компилятор. Они идут в составе чего-то, или их можно отдельно подложить?

Dambo
ефрейтор
Сообщения: 61
Зарегистрирован: 2009-11-27 22:29:58

Re: Работа с LPT портом

Непрочитанное сообщение Dambo » 2011-03-30 16:35:30

Значит всё же через CreateFile. Думаю просто как на линух потом будет портироваться моя софтинка, если понадобится.
Воспользуетесь posix функциями или любыми другими.
И ещё вопрос. По той ссылке в примере используются библиотеки stdafx.h и iostream.h, их у меня не находит компилятор. Они идут в составе чего-то, или их можно отдельно подложить?
stdafx.h - автор использовал скорее всего 2005 студию, это старая хрень не нужная :oops:
iostream.h - std библиотека для вывода и ввода
Вы их можете не использовать, самое главное в той статье для вас что в винде работа с портами используется как с файлами и надо только подобрать правильное имя файла...

Аватара пользователя
Darkwolf
ефрейтор
Сообщения: 53
Зарегистрирован: 2010-04-25 12:53:03
Откуда: Архангельск
Контактная информация:

Re: Работа с LPT портом

Непрочитанное сообщение Darkwolf » 2011-03-30 16:38:39

Спасибо. Пока всё понятно.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Работа с LPT портом

Непрочитанное сообщение hizel » 2011-03-30 16:38:48

stdafx.h из
http://firststeps.ru/mfc/winapi/r.php?12
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.