arkhnchu писал(а):кто-то мешает указать размер буфера, а не ожидаемого блока?
Зачем? Чтобы иметь сомнительное удовольствие разбирать блоки по кусочкам?
arkhnchu писал(а):Вот зачастую как будто не пофигу, где сидеть и тупить - в while(1) в main-е или в ожидании приема)
Нормальные программы в цикле while(1), обычно, проверяют флажки событий и, при появлении оных, выполняют какие-то действия. Быстрые действия, если что.
arkhnchu писал(а):какбэ этсамое, на блокирующих методах все не заканчивается
Это уже лучше. Но блок никуда не делся.
arkhnchu писал(а):или по таймауту. Никто не заставляет выставлять ему такие гигантские значения
По-любому, это годится только когда
весь обмен
полностью контролируется моей программой. Как в старые добрые времена на Фортране: дал команду "прочитать перфокарту", дождался, когда система это сделает, что-то посчитал. Потом то же самое проделал со следующей перфокартой... И неважно, дожидался окончания чтения сам, или система просто не отдала тебе управление на время чтения карты.
А USART - это, все-таки, в первую очередь, нечто, вроде терминала. Не смотрел конкретно тот bluetooth, но у большинства железок, с которыми общаются через USART (которые я видел), обмен организован в терминальном стиле. Формально - используются записи неопределенной длины с разделителями (CR), часто с применением дополнительных управляющих символов ASCII, вроде Ctrl/C или Ctrl/Z. В общем, все в классическом стиле любимой PDP-11.
arkhnchu писал(а):можно все нужное и с CMSIS-ом (а то и без оного) сделать, но готовые библиотеки - будь то кто угодно из SPL/HAL/LL - позволяют не устраивать на каждый чих непременный восход солнца вручную
Естественно. Только вот HAL-дравер USART'а сконструирован крайне неудачно.
dosikus писал(а):Да и калокуб свой засуньте, вам сказано.
Кубики,
dosikus, кубики. Детские игрушки такие. Посмотри, как красиво они летают у этого CubeMX на About'е. И из них предлагается строить рабочие программы.
Не помню, кто сказал, что если бы строители строили дома так, как программисты пишут программы, то первый же залетевший дятел разрушил бы цивилизацию. А теперь представь себе, что будет, если программы будут собраны из таких кубиков?
Добавлено after 1 hour 19 minutes 28 seconds:
Кстати, люди, а где берут руководства по этим самым библиотекам? HAL, LLL, да и SPL, наконец? Бегло поискал на st.com, поиск выдает кучи мусора, и все!.. То есть, полный вопрос звучит так: что спросить у поисковика ST ?
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)