ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
2 мая
1271487 Топик полностью
bnb62 (28.12.2022 17:03, просмотров: 395) ответил Nikolay_Po на Я бы парсил сразу, до завершения строки, по факту поступления символов. Всегда ли будет завершение строки?
Да, в STM32 HAL есть и "фишка" - прерывание по событию. IDLE_Callback. HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size). 

Вполне работает. Позволяет парсить "на лету" неизвестный заранее буфер данных посимвольно.

Но нигде кроме форумов не нашёл критерий завершения "события" - клевещут юзеры, что 3,5 символа. Далее обработчик обнуляет индекс буфера и макушку - RxXferCount.

Эта методика начисто не годится при работе с эфирной Сетью и ея протоколами. Но позволяет хитро пожениться с Дурой наследия UART(заранее неизвестным количеством байтов приёма). Как-то так.