Тонкости работы с COM портом

Общие вопросы программирования, алгоритмы и т.п.

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

Re: Тонкости работы с COM портом

Сообщение swa1 » 16.03.2010 17:49:56

Yurakl писал(а):Что происходит?? Записывается(выводится) один байт за 1000 мсек? а если за это время пришло 50 байт, к примеру?

Это таймаут ожидания
function RecvBufferEx(buffer: pointer; length: integer; timeout: integer): integer; virtual;
Method waits until data is received. If no data is received within the Timeout (in milliseconds) period, LastError is set to ErrTimeout. This method is used to read any amount of data (e. g. 1MB), and may be freely combined with all receviving methods what have Timeout parameter, like the Recvstring, RecvByte or RecvTerminated methods.


По synaser читать тут
Аватара пользователя
swa1
новенький
 
Сообщения: 80
Зарегистрирован: 25.09.2007 11:04:08
Откуда: Ялта

Re: Тонкости работы с COM портом

Сообщение Yurakl » 08.04.2010 11:03:27

При подключении 2х устройств к 2 com портам их лучше разбивать на 2 разных потока?Посоветуйте как это сделать лучше и практичнее???
Yurakl
новенький
 
Сообщения: 62
Зарегистрирован: 20.01.2010 08:59:53

Re: Тонкости работы с COM портом

Сообщение Yurakl » 23.04.2010 10:43:01

Вот возник какой вопрос. На тонком клиенте стоит Linux и 2 com порта, т.е. возможно подключение как 1 или 2 устройств, так и не одного.
в случае когда подключено одно устройство он всегда определяется как ttyS0 или это все-таки в зависимости от порта? и если подключено 2 устройства то соответственно одно будет ttyS0, а другое ttyS1?
Yurakl
новенький
 
Сообщения: 62
Зарегистрирован: 20.01.2010 08:59:53

Re: Тонкости работы с COM портом

Сообщение Mr.Smart » 23.04.2010 13:07:16

Не факт. Т.ч. лучше указывать какие порты существуют и какой из них 1, а какой 2.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Тонкости работы с COM портом

Сообщение Yurakl » 23.04.2010 13:26:48

линукс же определяет по файлам ttyS* устройства на ком портах.как тогда указать порт-то??
Yurakl
новенький
 
Сообщения: 62
Зарегистрирован: 20.01.2010 08:59:53

Re: Тонкости работы с COM портом

Сообщение Mr.Smart » 23.04.2010 13:41:53

Я имею ввиду где нибудь в настройках программы указывать имена COM портов.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Тонкости работы с COM портом

Сообщение Yurakl » 23.04.2010 15:01:39

я и так указываю у них разные имена.
comdsc1:=fpopen('/dev/ttyS0', O_RdWr or O_NOCTTY or O_NDELAY);
comdsc2:=fpopen('/dev/ttyS1', O_RdWr or O_NOCTTY or O_NDELAY);
с соответсвующими настройками.
но определяется и данные читаются тока с первого ком порта, ко второму как-будто ничего не подключено.
Yurakl
новенький
 
Сообщения: 62
Зарегистрирован: 20.01.2010 08:59:53

Re: Тонкости работы с COM портом

Сообщение v-t-l » 23.04.2010 16:57:17

А второй разъем точно ttyS1? а вдруг 2 или 3?
v-t-l
энтузиаст
 
Сообщения: 728
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Тонкости работы с COM портом

Сообщение Yurakl » 24.04.2010 10:45:32

а как это можно определить точно??но опытным путем он точно ttyS1
мне еще с USB предстоит работать, там то так же надо определить номер разъема....
Yurakl
новенький
 
Сообщения: 62
Зарегистрирован: 20.01.2010 08:59:53

Re: Тонкости работы с COM портом

Сообщение FeodoR » 24.04.2010 22:03:17

Попробуй команду dmesg | grep -i tty
В выводе по-идее должно быть про то где что и как. Ещё есть sysfs (/sys) и /proc. Там тоже есть сведения о системных устройствах.
Аватара пользователя
FeodoR
новенький
 
Сообщения: 59
Зарегистрирован: 16.04.2010 12:11:34
Откуда: MSK, ЮАО

Re: Тонкости работы с COM портом

Сообщение sadavod » 27.05.2010 22:20:04

Здравствуйте, подскажите с обменом информации
на Debian данные на устройство отсылаю так
echo "AA BB CC DD" > /dev/ttyUSB0
а как получить ответ?
sadavod
новенький
 
Сообщения: 18
Зарегистрирован: 27.12.2009 14:30:29

Re: Тонкости работы с COM портом

Сообщение serg_iv » 28.05.2010 17:15:57

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

Re: Тонкости работы с COM портом

Сообщение xcod » 24.06.2011 12:05:53

Здравствуйте ребята! :D
помогите разобраться с ком портом
использую synaser, вот банальный код
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
ser:TBlockserial;
a:ansistring;
begin
    ser:=TBlockserial.Create;
    ser.RaiseExcept:=false;
    ser.Connect('com1');
    if ser.InstanceActive then
      begin
        ser.Config(9600,8,'N',SB1,false,false);
        ser.SendString('1234');
        a:=ser.RecvString(100);
        Memo1.Lines.Add(a);
        ser.Free;
      end
  else ser.Free;
end;

в мемо ничего не приходит
порт проверял прогой Serial Port Monitor отправляет и принимает, порт исправен
что не так то? ткните носом... :(
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Re: Тонкости работы с COM портом

Сообщение v-t-l » 24.06.2011 13:19:34

xcod писал(а):
Код: Выделить всё
a:=ser.RecvString(100);

Возможно ответ не заканчивается CR/LF.
Может
Код: Выделить всё
a:=ser.RecvPacket(100);
получится?
v-t-l
энтузиаст
 
Сообщения: 728
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Тонкости работы с COM портом

Сообщение xcod » 24.06.2011 13:25:57

v-t-l писал(а):получится?

пусто
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Пред.След.

Вернуться в Общее

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

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

Рейтинг@Mail.ru