Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 3 раз(а), последний 2021-05-22 08:24:29 |
|||
карма: 0 |
|
Разработчик
Ответов: 26155
Рейтинг: 2127
|
|||
карма: 22 |
|
Ответов: 205
Рейтинг: 44
|
|||
nesco, не работает! Посылаю контроллером 5 чисел(10,20,30,40,50), но компонент выдает только первое число (10)!?
Остальные: 20,30,40,50 теряются, где то! code_30320.txt |
|||
карма: 0 |
| ||
файлы: 1 | code_30320.txt [404B] [185] |
Разработчик
Ответов: 26155
Рейтинг: 2127
|
|||
wss60 писал(а): Посылаю контроллером 5 чисел(10,20,30,40,50), но компонент выдает только первое число (10)!?Во-первых: как посылаешь -- одной посылкой или с интервалом Во-вторых: Выход onRead нельзя использовать совместно с интерфейсными элементами, для этого существует выход onSyncRead. Это, кстати, отмечено в топике, где находится сам компонент, и в примере,где показано куда надо подключать правильно. Да, кстати, а откуда уверенность, что данные с контроллера именно все приходят в порт, чем проверялось, кроме своей программы |
|||
карма: 22 |
|
Ответов: 205
Рейтинг: 44
|
|||
посылаю первое число – 10
пауза в один такт мк - ~ 40 nS посылаю второе число – 20 пауза в один такт мк - ~ 40 nS и т.д. Про “onRead” учту nesco писал(а): Да, кстати, а откуда уверенность, что данные с контроллера именно все приходят в порт, чем проверялось, кроме своей программы На старом компоненте все нормально принимает! |
|||
карма: 0 |
|
Разработчик
Ответов: 26155
Рейтинг: 2127
|
|||
wss60 писал(а): пауза в один такт мк - ~ 40 nSЭто что, нанонсек, или миллисек Если это наносек, то это примется в одной посылке. Поставь дебаг в разрыв и посмотри, сколько раз отработает. И насколько я понял, то это не последний компонент, а какая-то старая версия. Вот что должно быть у нового компонента в свойствах 112_001.png Да и откуда в твоей схеме мог взятся 20-й индекс скорости, когда их всего 19, последний -- 115200 |
|||
карма: 22 |
| ||
файлы: 1 | 112_001.png [4.2KB] [297] |
Ответов: 205
Рейтинг: 44
|
|||
Это что, нанонсек, или миллисек Если это наносек, то это примется в одной посылке. Поставь дебаг в разрыв и посмотри, сколько раз отработает. Это наносекунды. Дебаг показывает 1 событие И насколько я понял, то это не последний компонент, а какая-то старая версия. Вот что должно быть у нового компонента в свойствах все так Да и откуда в твоей схеме мог взятся 20-й индекс скорости, когда их всего 19, последний -- 115200 Скорость я добавил т.к нужной (230400) не было. |
|||
карма: 0 |
|
Разработчик
Ответов: 26155
Рейтинг: 2127
|
|||
wss60 писал(а): т.к нужной (230400) не былоНахрена, когда ее можно было просто сверху подать А запрос на получение один или несколько Но если это, все же, одна строка, то попробуй вместо конвертора применить
И проверь, все ли данные приходят в одной строке ------------ Дoбавленo в 17.33: Дело в том, что COMEX не читает побайтнео, он читает все, что придет на порт сразу, пока не нарушены задержки сигналов, те пока не будет поймана ошибка потери фрейма, и старается максимально быстро освободить буфер, а конвертор CharToInt читает только первый байт принятой строки |
|||
карма: 22 |
|
Ответов: 205
Рейтинг: 44
|
|||
Попробовал передать строку – принял нормально!
Придется подумать, как передать массив по частям nesco, Спасибо!!! ------------ Дoбавленo в 18.05: Нашел способ
|
|||
карма: 0 |
|
Разработчик
Ответов: 26155
Рейтинг: 2127
|
|||
wss60 писал(а): Нашел способЕлемент Memory там лишний. Str_Enum прекрасно понимает данные из потока |
|||
карма: 22 |
|
25