Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LPT порт. Нужно его программировать 
:(
    Опции темы
rcdimon
Дата 10.3.2005, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



Мне необходимо работать с LPT портом. Раньше я делал это на Visual Basic, а с переходом на Linux прямо даже не знаю. Помогите, пожалуйста.
PM MAIL ICQ   Вверх
Sun
Дата 11.3.2005, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

Репутация: 1
Всего: 48



Могу обрадовать, что в Linux работать с портами ввода/вывода значительно проще, чем в Windows. Фактически все сводится к работе с файлами - запись и чтение. Здесь подробнее
http://www.linuxcenter.ru/lib/articles/pro...minihowto.phtml


--------------------
Account removed
PM MAIL   Вверх
rcdimon
Дата 11.3.2005, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



Огромное спасибо, все отлично работает. Но фигня в другом.

В KDevelop эта штука не компилится. Матерится но все подряд. Приходится компилить из консоли с помощью gcc. Но в нем у меня по чему то не работают команды cout и cin. Говорит что они не объявлены. Они находятся в iostream.h. Когда я его присоединяю #include<iostream.h> он говорит что этот файл не найден. Я и полный путь к нему прописывал и копировал этот файл куда надо, но когда он его находит он требует другие, а с ними еще и еще. Что делать? Как сделать что бы cout и cin работали?
PM MAIL ICQ   Вверх
Ni@m
Дата 12.3.2005, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 11.3.2004
Где: почти Киев

Репутация: нет
Всего: 6



Пробовал
Код

using namespace std;
?

А то, что не хочет компилиться из KDevelop, то это в настройках надо порыться.
--------------------
Обучение - как переливание воды из одной чашки в другую: всегда лучше, чтоб чашка со знаниями нахордилась выше.
PM MAIL WWW ICQ   Вверх
rcdimon
Дата 12.3.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



Пробовал. Материться на все три слова. Разве что точку с запятой не ругает. smile
PM MAIL ICQ   Вверх
Ni@m
Дата 14.3.2005, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 11.3.2004
Где: почти Киев

Репутация: нет
Всего: 6



Попробуй при компиляции указывать -I /path/to/iostream.h
И если не поможет, то покажи как он матерится!
--------------------
Обучение - как переливание воды из одной чашки в другую: всегда лучше, чтоб чашка со знаниями нахордилась выше.
PM MAIL WWW ICQ   Вверх
falcon39
Дата 7.11.2010, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 21.6.2004

Репутация: нет
Всего: 0



вот код, он компилируется но не работает
Код

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <dev/ppbus/ppi.h>
#include <dev/ppbus/ppbconf.h>

static int ppi_fd;
static u_int8_t val;

static void do_int(void)
{
    char port[] = "/dev/ppi0";

    ppi_fd = open(port, O_RDWR);
    if(ppi_fd < 0)
    {
    printf("Error \n");
        perror(port);
        exit(1);
    }
}

static void do_out(unsigned long outval)
{
    int val = outval, n;

    n=ioctl(ppi_fd, PPISDATA, &val);
//    printf(n);
    if(n < 0)
    {
//    printf("Error OUT \n");
    perror("ioctl PPISDATA");
    exit(1);
    }
}

static unsigned long do_in(void)
{
    int val,n;

    n=ioctl(ppi_fd, PPIGSTATUS, &val);
    if(n<0)
    {
    printf("Error IN \n");
    perror("ioctl PPIGSTATUS");
    exit(1);
    }
    return val;
}
int main()
{
do_out(1<<2);
usleep(5000);
return(0);
}


выдает
Код

ioctl PPISDATA: Inappropriate ioctl for device

операционная система freebsd 7.2
помогите пожалуйста я новичек
--------------------
PM MAIL   Вверх
svlary
Дата 8.11.2010, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 8.9.2009

Репутация: 4
Всего: 4



Цитата

помогите пожалуйста я новичек


Почитайте хорошую статейку (для новичков) в журнале "Linux forman" (Август 2010) :

Цитата

Программируем периферию:
Взяв в руки паяльник и компилятор, вы легко превратите компьютер с Linux в мозг «умного дома» – а эта статья поможет вам подключить к нему различные датчики через порты COM, LPT и джойстика.


Вот здесь :

Ссылка на архив номеров на сайте редакции
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.