Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 6310
Последний выпуск: 19.06.2015

прямая работа с портом

536
21 декабря 2009 года
alex-kniaz
382 / / 07.08.2008
В винде была такая библиотека inpout32.dll которая позволяла работать напрямую с портом (по номеру порта читать/писать данные). Есть ли аналогичные вещи для линух (желательно под лазарус)?
34K
21 декабря 2009 года
muturgan
96 / / 01.10.2009
В линуксе все устройства доступны через файлы устройств, находящиеся в папке /dev/. Просто открываете файл порта на запись(чтение) и пишете(читаете) данные.
536
21 декабря 2009 года
alex-kniaz
382 / / 07.08.2008
#include <stdio.h>
#include <fcntl.h>
#include <machine/cpufunc.h>

int main(int argc,char* argv[])
{
int val,port;
int fd;

if(argc<3){fprintf(stderr,"usage: %s port value\n",argv[0]); exit(1);}
if(sscanf(argv[1],"0x%x",&port) && sscanf(argv[2],"0x%x",&val))
{
fd=open("/dev/io",O_RDWR);
if(fd==-1){perror("open");exit(1);}
outb(port,val);
close(fd);
}
else
{fprintf(stderr,"port and value must be in hex format with 0x prefix\n"); exit(1);}

}


Нашёл такой код но не понял что за outb и с чем едят. C. А я его не знаю (почти)
1
21 декабря 2009 года
kot_
7.3K / / 20.01.2000
Цитата: alex-kniaz

Нашёл такой код но не понял что за outb и с чем едят. C. А я его не знаю (почти)


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

 
Код:
>man outb

скажет вам о том что семейство данных функций служит для низкоуровневого ввода-вывода в порты, суффикс -b говорит о использовании побайтного ввода. И т.д.
502
21 декабря 2009 года
Jail
550 / / 30.01.2007
Цитата: alex-kniaz
В винде была такая библиотека inpout32.dll которая позволяла работать напрямую с портом (по номеру порта читать/писать данные). Есть ли аналогичные вещи для линух (желательно под лазарус)?


uLan driver
Можно посмотреть примеры. Поддерживает даже lazarus. Когда-то давно еще версию 0.72 использовал в проекте под ОС qnx :)
А вообще, мое мнение -> lazarus+kulix=Mast to Die.
Не развивается это дело. зря время тратите.

536
21 декабря 2009 года
alex-kniaz
382 / / 07.08.2008
Цитата:
Не развивается это дело. зря время тратите.


Ясно. Qt считается нормальным вариантом?

502
21 декабря 2009 года
Jail
550 / / 30.01.2007
Цитата: alex-kniaz
Ясно. Qt считается нормальным вариантом?


QT это библиотека виджетов, и не только.
С++ и QT это более чем нормально.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог