приемом строки неизвестной длины по UART под stm32, чтобы коллбэк, в котором принятую строку обрабатываю, дергался по character match interrupt? Типа чтобы можно было настроить, строки оканчиваются на \n, \r или еще какую нибудь хрень. Принимать побайтово и закидывать в ринг буффер через дма и там каждый раз проверять ифом символ - это кринж... RECEPTION_TO_IDLE почему то не работает у меня, никакой интеррапт по пустоте на rx не происходит - если есть с ним пример, то тоже пойдет
а почему idle не пашет?
Выкинуть dma и сделать по прерываниям. И бубен заодно выкинуть
Хороший вопрос...
"Делай проще"?)
400К прерываний в секунду тянет а больше уже нет, дкмаю придется на дма переходить. рано или поздно
Dma сейчас и так нет, есть прерывания, это я описал самый популярный случай, как принимают длинную строку. Берут и побайтово суют через дма в буфер, а потом буфер читают. Сейчас же у меня просто прерывания, буффер приема на 100 символов, в хэндлере проверяется, что прерывание пришло от того, что произошел мэтч, оно отрабатывает, из RDR читается CR, только что с этим делать потом?... Поэтому и прошу пример, ибо аз есмь тупое чмище)
Обсуждают сегодня