Проблема с использованием RTrig в FLP 9.7.1
Добавлено: 06 авг 2026, 10:37
Добрый день!
Начал изучать FLP и конечно же сразу делая что-нибудь полезное, и столкнулся с проблемой (пытался решить, гуглил, читал форум, сильно не пинайте ибо я честно пытался решить проблему самостоятельно):
Фрагмент задачи:
Из USB летят данные - ответы на команды.
Ответ начинается с символа $ и заканчивается 0x0D.
Хочу получить ответ в переменную Command
Использую STM32 Blue Pill + LCD дисплей 1602 с I2C модулем.
Сделал при помощи FLP 9.7.1 так: 1. Получаю строку с накоплением в RessFromUart(1) и для контроля сразу толкаю в переменную In_Str которую и вывожу в верхнюю строчку дисплея.
2. При помощи SearchSubStr (3) и (4) нахожу позицию начального символа $ и конечного 0x0D (\n).
3. При помощи GetSubstring (5) получаю искомый ответ и вывожу его в нижнюю строчку дисплея.
В целом всё работает: для проверки этого в верхнюю строчку дисплея выводится "сырая строка" прилетающая с USB, дальше ищется начало и конец ответа, и выводится найденный "ответ" в нижнюю строчку дисплея.
По задумке, после получения строки с командой и записи ее в переменную, надо выполнить очистку буфера UART - но тут столкнулся с пока для меня непонятным. Я могу подключить вход блока FTrig(8) хоть к выходу Contain блока SearchSubStr(4) хоть к выходу RTrig(7) (как на картинке подрисовал пунктиром) чтобы очистить буфер UART когда будет получена полная строка команды, но.... при этом я не могу подключить выход FTrig(8) собственно ко входу R блока RessFromUart(1)
Я могу подключить выход блока FTrig(8) ко входу en от RessFromUart(1), но тогда я не могу подключить вход FTrig(8) ни к выходу Contain блока SearchSubStr(4) ни к выходу RTrig(7).
Что я делаю не так?
Ну или как обойти эту проблему?
Начал изучать FLP и конечно же сразу делая что-нибудь полезное, и столкнулся с проблемой (пытался решить, гуглил, читал форум, сильно не пинайте ибо я честно пытался решить проблему самостоятельно):
Фрагмент задачи:
Из USB летят данные - ответы на команды.
Ответ начинается с символа $ и заканчивается 0x0D.
Хочу получить ответ в переменную Command
Использую STM32 Blue Pill + LCD дисплей 1602 с I2C модулем.
Сделал при помощи FLP 9.7.1 так: 1. Получаю строку с накоплением в RessFromUart(1) и для контроля сразу толкаю в переменную In_Str которую и вывожу в верхнюю строчку дисплея.
2. При помощи SearchSubStr (3) и (4) нахожу позицию начального символа $ и конечного 0x0D (\n).
3. При помощи GetSubstring (5) получаю искомый ответ и вывожу его в нижнюю строчку дисплея.
В целом всё работает: для проверки этого в верхнюю строчку дисплея выводится "сырая строка" прилетающая с USB, дальше ищется начало и конец ответа, и выводится найденный "ответ" в нижнюю строчку дисплея.
По задумке, после получения строки с командой и записи ее в переменную, надо выполнить очистку буфера UART - но тут столкнулся с пока для меня непонятным. Я могу подключить вход блока FTrig(8) хоть к выходу Contain блока SearchSubStr(4) хоть к выходу RTrig(7) (как на картинке подрисовал пунктиром) чтобы очистить буфер UART когда будет получена полная строка команды, но.... при этом я не могу подключить выход FTrig(8) собственно ко входу R блока RessFromUart(1)
Я могу подключить выход блока FTrig(8) ко входу en от RessFromUart(1), но тогда я не могу подключить вход FTrig(8) ни к выходу Contain блока SearchSubStr(4) ни к выходу RTrig(7).
Что я делаю не так?
Ну или как обойти эту проблему?