-
А как вы контролируете, что пришел байт? Визуально - ничего не увидите, т.к. sz<>0 будет только 1 мс! Поставьте ловушку
-
Поставила обычную ловушку
IF sz<>0 THEN i:=2;
ELSE i:=1;
END_IF;
Все равно значение не изменяется (i=1).
Через Terminal отсылаю сообщение: 02 04 01 0001
В rcvbuf следующая картина:
rcvbuf[0]=49
rcvbuf[1]=49
rcvbuf[2]=0
дальше нули.
-
Так все правильно.
Ловушка должна выглядеть иначе!
sz:=SysComRead(com_num,ADR(rcvbuf)+i,100,0);
i:=i+sz;
Тогда байты будут складываться в буфер по мере прихода, а i - покажет число принятых байтов!
-
-
Замечательно! Всегда рад помочь
-
Сообщение от
Klik
А можно примерчик выложить чтоб можно было полностью посмотреть меня тоже интересует этот вопрос.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума