-
- Да, что-то похожее на кучу модбасов. Тоже склоняюсь к переходу на
манипуляцию битами, минуя HAL. Только еще не понял что делать с
обработчиками прерываний, как-то полностью заместить обработчик из
HAL-а, или оставить как есть, т.е. писать свою функцию, вызываемую
HALом. Что по этому поводу посоветуют опытные товарищи? - AlexBi(14.02.2022 15:39)
- Почему-то никто не упомянул про callback функции включенные почти
во все HAL обработчики прерываний, которые вам сгенерит Куб, стоит
только заказать нужные прерывания. bnb62(674 знак., 14.02.2022 18:09)
- Эти колбэки есть только на прием нескольких символов и на передачу нескольких символов. Я их назвал "функцией, вызываемой HALом". Надо еще разобраться как оно ошибки приема обрабатывает. И не понятно как организовать одновременные прием и передачу. - AlexBi(14.02.2022 18:36)
- Потому что забыл как называется :) Ну и не отменяет манипуляцию
регистрами - но я тут нуб, тока посматриваю - symbions(14.02.2022 18:17)
- Не прибедняемся и не стесняемся делиться! :) Видно же какого уровня нубы пишут эти библиотеки HAL... Но, бля, вроде работает - поэтому лучше не смотреть на реализацию - жизни может не хватить истолковать код пишущих его индусов. Видишь явный косяк или тормоз - тогда уж можно проверить или заглянуть в их Сообщество. - bnb62(14.02.2022 18:46)
- Даже если попытаться оставить только инициализацию UART, в нагрузку получаешь обработчик прерываний, который просто так на свой не заменить и кучу бесполезных функций. Типичный спагетти-код, одно от другого просто так не оторвать. В конце концов пришел к выводу что написать и отладить свой код будет быстрее чем копаться во всём этом. - ЫЫyкпy(14.02.2022 16:33)
- Для реализации МОДБАС на STM32 не нужно следить по прерыванию UART за приемом байтов и перезапускать каждый раз таймер. Есть более изящный способ: il-2(332 знак., 14.02.2022 16:04)
- Естественно, HAL имеет ограничения, это нужно понять и простить. Что касается конкретного случая... Я бы не лез в биты, а попытался использовать COMPARE или вообще одно частое прерывание свободного таймера. - VLLV(14.02.2022 16:04)
- Почему-то никто не упомянул про callback функции включенные почти
во все HAL обработчики прерываний, которые вам сгенерит Куб, стоит
только заказать нужные прерывания. bnb62(674 знак., 14.02.2022 18:09)
- Да, что-то похожее на кучу модбасов. Тоже склоняюсь к переходу на
манипуляцию битами, минуя HAL. Только еще не понял что делать с
обработчиками прерываний, как-то полностью заместить обработчик из
HAL-а, или оставить как есть, т.е. писать свою функцию, вызываемую
HALом. Что по этому поводу посоветуют опытные товарищи? - AlexBi(14.02.2022 15:39)