Ada_Ru форум

Обсуждение языка Ада

Re: [ada_ru] serial ports and Ada

Оставить новое сообщение

Сообщения

Boris Samorodov
Re: [ada_ru] serial ports and Ada
2006-11-11 08:39:40

On Wed, 11 Oct 2006 08:39:57 +0400 Vadim Godunko wrote:

Boris Samorodov wrote:

 

Есть ли возможность в Аде работать с файлами одновременно на запись и чтение? Сейчас работа с последовательным портом организована через ассемблерные коды outb и inb. Но для этого приходится давать права суперпользователя. Хотелось бы этого избежать.

 

OS FreeBSD, gnat-gcc41.

 

Если речь идёт конкретно о последовательных портах в среде UNIX, то можно использовать средства библиотеки Florist. Она позволяет

производить как ввод/вывод (POSIX.IO) так и настройку переметров порта (POSIX.Terminal_Functions).

 

Этот пакет есть только для Gnat 3.15p. Остальное -- "The latest and most complete versions are available from gnat.com (for a fee)".

Но как-то мне показалось, что это "из пушки по воробьям". Настройку параметров портов сделать можно и по-другому. Мне же не хватает (в смысле не умею) только одновременного записи/чтения. Но если других вариантов не будет -- буду смотреть в эту сторону.

 

Спасибо.

 

 

WBR

--

bsam

Boris Samorodov wrote:

 

Этот пакет есть только для Gnat 3.15p. Остальное -- "The latest and

most complete versions are available from gnat.com (for a fee)".

Теоретически это так. Фактически же эта библиотека достаточно стабильна и более новые версии ничем значительно не лучше 3.15p.

 

Но как-то мне показалось, что это "из пушки по воробьям". Настройку

параметров портов сделать можно и по-другому. Мне же не хватает (в

смысле не умею) только одновременного записи/чтения.

Ну это стандартный способ работы с последовательными портами в UNIX. Стандартные пакеты Ada имеют весьма высокий уровень абстракции дабы помочь в этом случае.

On Wed, Oct 11, 2006 at 12:39:40PM +0400, Boris Samorodov wrote:

параметров портов сделать можно и по-другому. Мне же не хватает (в смысле не умею) только одновременного записи/чтения. Но если других

 

Можно еще посмотреть Interfaces.C_Streams

Это вообще тонкий биндинг Сишных fopen(...) & etc

 

--

Maxim Reznik

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти