juvf 10 23 августа, 2017 Опубликовано 23 августа, 2017 · Жалоба stm8s003 запрограммировал несколько портов на exti прерывание и увожу процессор в сон через halt(); порт проинил как /*!< Input pull-up, external interrupt */ GPIO_Init(GPIOA, (GPIO_Pin_TypeDef)(PIN_GPIO_PIN_1| PIN_GPIO_PIN_2| PIN_GPIO_PIN_3), GPIO_MODE_IN_PU_IT); с РА2 и РА3 работаетнормально, а вот в РА1 проблема. В режиме дебага работает, а без дебага поле ухода в active-halt сразу просыпается и попадает в перывание INTERRUPT_HANDLER(EXTI_PORTA_IRQHandler, 3). если закоментировать РА1, то всё нормально GPIO_Init(GPIOA, (GPIO_Pin_TypeDef)(/*PIN_GPIO_PIN_1| */PIN_GPIO_PIN_2| PIN_GPIO_PIN_3), GPIO_MODE_IN_PU_IT); Читаю внимательно РМ, для РА1 звёздочка When the MCU is in halt/active-halt mode, PA1 is automatically configured in input weak pull-up and cannot be used for waking up the device. In this mode, the output state of PA1 is not driven. It is recommended d to use PA1 only in input mode if halt/active-halt is used in the application. Понятно, что РА1 нельзя использовать как выход. Но как вход с подтяжкой почему нет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yuri0128 0 2 января, 2020 Опубликовано 2 января, 2020 · Жалоба PA1 переинициализируется при halt, что автоматом создает event. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться