COM порт в linux

Вопросы программирования и использования среды Lazarus.

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

Ответить
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

Господа.
Подскажите пожалуйста, как настроить для работы COM порт в Линуксе из Lazarus'a?
Например на скорость 115200 с двумя стоп-битами?
PublicJoke

Сообщение PublicJoke »

Погляди <a href='http://www.ararat.cz/synapse/' target='_blank'>http://www.ararat.cz/synapse/</a>, тебе нужен synaser
Джентельмен
постоялец
Сообщения: 162
Зарегистрирован: 16.10.2005 10:47:26
Откуда: Украина Донбасс Краматорск
Контактная информация:

Сообщение Джентельмен »

Кстати а никто не подскажет как отправить в СОМ порт данные используя файл устройста (ttyS0 (1)), почему нельзя просто скопировать в файл устроства байты? кто нить когда нибуть с так делал? просто очень интересно как оно работает!? я пробывал использовать функции TurboPascal 7.0 (Дос), но под линуксом оно не работает, так как же отправить в СОМ порт байты!? и как считать байты с СОМ порта? очень был бы признателен за кусочек кода....
Чапаев
новенький
Сообщения: 14
Зарегистрирован: 15.10.2005 00:59:31
Откуда: Уфа
Контактная информация:

Сообщение Чапаев »

правильная настройка COM порта в линуксе, - через команду setserial.
Также зависит и от того, под каким пользователем осуществляется работа, есть ли у него разрешение на запись/чтение в порт. все просто ;)
Даже шелловыми скриптами можно настраивать и писать в порт. Читать не пробовал, но можно использовать minicom, или все, таки, cat порта - не знаю. ;)
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

synaser не помог, выдаёт ошибку при компиляции.
Я подумал, а что если работать через /dev/port ?
Засылать байты для настройка порта, через настроечные $279, $27A и т.д. , а потом засылать байты в приёмопередатчик $278 или же читать их оттуда ?
PublicJoke

Сообщение PublicJoke »

Да Вы, батенька, маньяк! Не трогайте порты, лучше напишите, в каком именно
месте компилятор дает ошибку (у меня сейчас не стоит ни Free Pascal под Linux,
ни кросс-компилятор по Windows, проверить не могу, под Винду собирается
без проблем).
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

Вот сообщения, которые выдаёт компилятор:

synaser.pas(389,50) Error: Identifier not found "TStream"
synaser.pas(392,47) Error: Identifier not found "TStream"
synaser.pas(396,51) Error: Identifier not found "TStream"
synaser.pas(459,50) Error: Identifier not found "TStream"
synaser.pas(462,51) Error: Identifier not found "TStream"
synaser.pas(465,47) Error: Identifier not found "TStream"
synaser.pas(468,51) Error: Identifier not found "TStream"
synaser.pas(707,1) Fatal: There were 7 errors compiling module, stopping
PublicJoke

Сообщение PublicJoke »

Вынесите упоминание модуля Classes в interface-части synaser за пределы $IFDEF, туда, где стоит SysUtils. Что интересно, в synautil это сделано правильно.
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

Очень большое СПАСИБО!
Теперь всё заработало. Сам бы я до этого не додумался.
Джентельмен
постоялец
Сообщения: 162
Зарегистрирован: 16.10.2005 10:47:26
Откуда: Украина Донбасс Краматорск
Контактная информация:

Сообщение Джентельмен »

Народ а кто сталкивался с такой фигней, вообщем, в FPC есть такая модуль Linux, который в uses подключаетса, ну вот значит я его подключаю, потом пишу функции типа: fdopen, fdread (ну что бы с файлами работать), а он мне говорит что незнает таких функций!? кто дурак? я или он? если он, то как ему это обьяснить?
Аватара пользователя
Иван Шихалев
энтузиаст
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург
Контактная информация:

Сообщение Иван Шихалев »

как ему это обьяснить?

В 2.0 надо использовать модуль Unix. Или UnixBase... В общем, что-то в этом духе. Или oldlinux, который для совместимости со старой системой модулей.
Ответить