ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
1057291 Топик полностью
POV_ (02.12.2020 00:55, просмотров: 9) ответил fk0 на Код виндовый покажи. А то смысл набрасывать на вентилятор каждый раз? Потом там BREAK в начале каждого пакета. У тебя случайно паузы не "между байтами", а не перед каждым пакетом (из нескольких байт) ? И есть специфическая проблема любой операционки и драйвера ком-порта: ты короткий BREAK во-первых не факт, что сформируешь. Во-вторых...
Пока отбой. Нашёл мелкий косяк. Но в целом он не мешает наличию проблемы.... 

а сделал вот тупо в лоб

hdlc.SetStopBit(sbTwo);

obj.SetRate(90155);
obj.SendByte($0);

// тут накопилась пауза на MAB
obj.SetRate(250000);
obj.SendByte(0);

for i := 1 to edStartAdr.IntValue do
  obj.SendByte(0);

obj.SendByte(Trunc(TrackBar1.Value));
obj.SendByte(Trunc(TrackBar2.Value));
obj.SendByte(Trunc(TrackBar3.Value));
obj.SendByte(Trunc(TrackBar4.Value));
obj.SendByte(Trunc(TrackBar5.Value));

Косяк о котором сказал - в некорректной передаче массива из пяти значений одной командой. Попозже перепроверю.

Пока точно эти сраные 200 мкс из-за побайтовой передачи имеют место быть. Но для винды это вряд ли можно считать удивительным.