Инициализация и запись в COM1(RS232)

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

Инициализация и запись в COM1(RS232)

Сообщение wolker » 13.04.2009 21:35:25

ОС Slackwarelinux 12.1
Пробую разобраться как произвести запись в COM1(RS232/dev/ttyS0) на free pascal 2.2.2 под linux.
Но похоже очередность отправляемых бит до порта не доходит...
Принимаемая прога работает на COM2 нормально(все данные принимает на ура).
Исходник передающей проги ниже:
Код: Выделить всё
program copyr_files;
Uses
   CRT;
Var
  f, f2:File;
  path, str:string;
  sim:byte;
  len, i:longint;
Begin
   ClrScr;
   Write('Read sim...');
   Writeln('');
        Read(sim);                 {передаваемый байт}
   assign(f, '/dev/ttyS0');
        {$I-}
   rewrite(f,1);
        {$I+}
         if IOResult <> 0 then {проверка готовности порта}
           begin
            Writeln('File otsutstvuet');
            exit;
           end
         else Writeln('Vse OK');

   while i<5 do  {пять раз передаем sim}
    begin
              Blockwrite(f, sim, 1);
         inc(i);
              delay(200);
    end;
   Close(f);
Writeln('');
   Write('--Finish--', 'dlina copy-file: ',i, 'byte');
   Readkey;
End.

Может я где-то ошибаюсь, если кто сталкивался с такой проблеммой помогите!!!
Глядишь вместе разберемся.
wolker
незнакомец
 
Сообщения: 5
Зарегистрирован: 08.02.2009 22:54:45

Re: Инициализация и запись в COM1(RS232)

Сообщение Mr.Smart » 13.04.2009 22:04:11

научитись пользоваться тегами [ code ]..[ /code ], а то при виде данного безобразия читать нехочится!

Добавлено спустя 7 минут 24 секунды:
А вообще где начальные настройки порта? Копайте в сторону TTermios.
Не проще ли использовать Synaser в нём неплохая реализация работы с COM портом как под Линукс так и Виндоус (хотя поработать напильником придётся :wink: )
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Инициализация и запись в COM1(RS232)

Сообщение wolker » 14.04.2009 09:32:21

Прошу прощенья за оформление своей темы. :|
На будующее приму к сведению.
Если не трудно подскажите где можно посмотреть
какую нибудь инфу по TTermios.
С ходу найти что нибудь сносное для изучения не получается...
wolker
незнакомец
 
Сообщения: 5
Зарегистрирован: 08.02.2009 22:54:45

Re: Инициализация и запись в COM1(RS232)

Сообщение serg_iv » 14.04.2009 11:30:29

Работать с ком портами удобнее через synaser:
http://synapse.ararat.cz/doku.php/download
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Re: Инициализация и запись в COM1(RS232)

Сообщение Attid » 15.04.2009 10:57:33

wolker писал(а):На будующее приму к сведению.

вообще-то есть кнопка "Правка" и можно исправить свое сообщение.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Инициализация и запись в COM1(RS232)

Сообщение wolker » 18.04.2009 21:18:40

Столкнулся с новой проблеммой!
Код: Выделить всё
uses stdio, linux;

var
  fd:integer;
  nread:longint;
  buf:array [0..64-1] of char;
begin
  fd := fdopen ('data', Open_RDONLY);
  nread := fdread (fd, buf, 64);
  fdclose (fd);
end.

Сначала не было библиотеки stdio, которую позже установил.
Возникли другие ошибки: PPU invalid version 21.
Не понимаю какую версию ему нужно.
И откуда её можно взять.
Использую FPC 2.2.2 ОС slackware 12.1
Подскажите решение!

Добавлено спустя 20 минут 32 секунды:
Вообще пример взят с самоучителя
Но кажется не только я один столкнулся с подобной траблой.
Хотелось бы просто узнать у кого нибудь получилось
откомпилить исходник STDIO из этой книги или лучше использовать
другие способы низкоуровнего доступа к файлам?
wolker
незнакомец
 
Сообщения: 5
Зарегистрирован: 08.02.2009 22:54:45

Re: Инициализация и запись в COM1(RS232)

Сообщение Attid » 19.04.2009 15:47:00

wolker писал(а):другие способы низкоуровнего доступа к файлам?

если чисто под линукс тогда

http://lazarus-ccr.sourceforge.net/docs/rtl/index.html

и изучай модули *nix
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

Рейтинг@Mail.ru