Автор | Сообщение |
|
Отправлено: 03.06.16 22:44. Заголовок: текст с Com-порта
Здравствуйте, снимаю уровни сигнала по команде с ком порта. Но иногда он почему то разбивает ее на несколько кусков, а иногда нет... И вот когда неудачно разбивает - нужная мне цифра сдвигается во вторую половину и я не могу в симпл+ модуле ее нормально считать. Подскажите почему он делит на строки и каким элементом ее можно собрать вместе, если можно? Спасибо
|
|
|
Ответов - 13
[только новые]
|
|
|
Отправлено: 03.06.16 23:30. Заголовок: Проще всего использо..
Проще всего использовать buffer input и очищать его только после прихода нужного значения.
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 04.06.16 00:24. Заголовок: Классическая задачка..
Классическая задачка повышения целостности детерминированного сигнала. Если знаете, чем должна закончиться строка целостных данных, и информативная длина, то эти два параметра помогут с помощью Serial Gather.
|
|
|
|
Отправлено: 04.06.16 10:31. Заголовок: Игорь K. а если у м..
Игорь K. а если у меня разделитель \x0A\x0D, то что мне писать в поле delimeter?
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 04.06.16 10:40. Заголовок: Очень странный разде..
Очень странный разделитель. Его и указывайте, формат описан в Help - h0A0D
|
|
|
|
Отправлено: 04.06.16 10:53. Заголовок: Игорь K. вот я так ..
Игорь K. вот я так и пишу - он мне выдает что неверный формат разделитель такой, потому что это ответ устройства на опрос статуса все нашел!!! 0Ah - спасибо!
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 04.06.16 11:13. Заголовок: Там буковка "h..
Там буковка "h" перед или позади символа
|
|
|
|
Отправлено: 04.06.16 11:17. Заголовок: Игорь K. спасибо, да..
Игорь K. спасибо, да нашел! а можно еще вопрос - а нет какого-то элемента еще? всем gather хорош, но его одна особенность портит выполнение задачи - он сохраняет в памяти остаток строки что был после разделителя и плюсует его к новой строке... у меня просто возвращается уровень звука, а там значения от 0 до 64... т е я не могу точно сказать длину строки, она может отличаться на 1 символ...
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 04.06.16 11:21. Заголовок: Берите на один симво..
Берите на один символ больше. Есть ещё в Simpl+ операнд Gather. Там как всегда, нужно следить за буфером и переменными.
|
|
|
|
Отправлено: 05.06.16 08:35. Заголовок: marty_iron, думаю, п..
marty_iron, думаю, прежде чем искать способ решения данной проблемы нужно поискать причину ее возникновения - проверить и перепроверить настройки интерфейса (скорость, четность, управление потоком) как на стороне Crestron, так и на стороне управляемого оборудования.
|
|
|
|
Отправлено: 12.06.16 16:42. Заголовок: Igor пишет: , думаю..
Igor пишет: цитата: | , думаю, прежде чем искать способ решения данной проблемы нужно поискать причину ее возникновения - проверить и перепроверить настройки интерфейса (скорость, четность, управление потоком) как на стороне Crestron, так и на стороне управляемого оборудования. |
| Да ладно, улыбнуло Асинхронный последовательный интерфейс подразумевает посимвольную передачу ASCII символов и одному Crestron известно в какой момент он посчитает что пора выдать набор принятых символов в программу. Подозреваю, это либо тайминг аппаратный фиксирующий превышение межсимвольного интервала, либо издержки загрузки процессора при обработке прерываний от разных интерфейсов. P.S SIMPL+ с buffer_input рулит, с Gather время потртатите только
|
|
|
|
| постоянный участник
|
|
|
Отправлено: 12.06.16 17:09. Заголовок: Что за девайс? Давай..
Что за девайс? Давайте, колитесь кто производитель.
|
|
|
|
|
Отправлено: 16.06.16 16:05. Заголовок: Чтоб не поднимать но..
Чтоб не поднимать новую тему вопрос смежный: нужно считать с сайта всю информацию для нахождения нужной инфы. Но, ведь SIMPL+ вмещает только 65534 байта (знака)! Как получить всю информацию, если сайт присылает больше текста?
|
|
|
|
Отправлено: 16.06.16 16:48. Заголовок: Нужно создать нескол..
Можно создать несколько массивов (или структур) и наполнять их данными последовательно, предварительно очистив их. Обработку потом выполнять последовательно по всем массивам до первого пустого массива.
|
|
|
|