Использование WKUP для своих целей (STM32)
- Войдите на сайт для отправки комментариев
Чт, 08/04/2021 - 03:34
Всем привет!
Мне нужна ваша помощь. Я хочу сделать небольшое устройство - наручные часы. Микроконтроллер - stm32l152cbt6. Устройство планирую вводит в сон и пробуждать нажатием кнопки. Кнопку планировал подключать к пину PA0-WKUP1, для пробуждения МК. И стал передо мной вопрос: могу ли я в своем проекте использовать эту же кнопку для своих целей? То есть после пробуждения использовать эту кнопку как обычную функциональную кнопку? После чего МК будет засыпать, и пробуждать по нажатию кнопки... Если можете, подскажите как сконфигурировать этот пин и есть ли какие-то нюансы?
Я просто новичок в работе с STM. До этого изучал Ардуино, и переход на STM дается сложно. Да и само устройство делаю больше для экспериментов и изучения STM.
Проект делаю в STM32CubeIDE, но попробую и в среде Ардуино написать скетч.
Заранее спасибо!
А что мешает? После просыпания нога РА0 становиться обычной, как и все остальные, ногой. Пользуйте кнопку сколько угодно.
Для часов загонять проц с standby не имеет смысла. А из других режимов он просыпается по любому прерыванию.
Спасибо! Буду изучать и пробовать.
Я спрашивал потому что при создании проекта в CubeIDE нельзя настроить пин РА0 и как WKUP и как GPIO. Только что-то одно. Вот и возникли сомнения относительно использования.
Это стандартное поведение настраивателя. Вы программируете начальное состояние, и что то мне подсказывает, что для ноги РА0 это совсем не вейкап. В дальнейшей работе можно переопределять режимы любых ног и систем в любой момент, но делать это должны Вы сам. Решение простое - генерите код для разных состояний инициализации ног. Каждый раз сохраняете пп инициализации и в своей программе вызываете эти инициализации в нужный момент. Только имена пп надо поменять на удобопонимаемые, что бы не запутаться. Для понимания процесса посмотрите как инициализируется датчик DHT22. У него одна нога сначала выдаёт импульс, а потом она же читает ответ. Пример как на лету меняется режим.