Здраствуйте. Микроконтроллер stm32 перевожу в энергосберегающий режим STOP. А выйти из него в нормальный режим по внешнему прерыванию не получается. В нормальном режиме внешнее прерывание работает. В стоп-режиме не работает. Кто нибудь сталкивался с такой проблемой?. Код программы ниже:
Код
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE); //тактирование периферийных устройств
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; // конифгурация вывода РА1 как вход
GPIO_Init(GPIOA, &GPIO_InitStructure); //
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource1); //РА1 источник прерывания линии 1
EXTI_InitStructure.EXTI_Line = EXTI_Line1; // настрока
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; // внешнего
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; //прерывания
EXTI_InitStructure.EXTI_LineCmd = ENABLE; // - прерывание по пер.фронту
EXTI_Init(&EXTI_InitStructure);
PWR_PVDLevelConfig(PWR_PVDLevel_2V2); // включение детектора
PWR_PVDCmd(ENABLE); // напряжения питания
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //настойка приоритета
NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn; // и разрешение
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; // канала прерывания EXTI1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; // в контроллере прерываний
NVIC_Init(&NVIC_InitStructure);
...
...
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); // переход в режим стоп
Подпрограмма обработки прерывания
Код
void EXTI1_IRQHandler(void){
if(EXTI_GetITStatus(EXTI_Line1) != RESET)
{GPIO_WriteBit(GPIOB, GPIO_Pin_9, Bit_SET);
if(PWR_GetFlagStatus(PWR_FLAG_WU) != RESET)
{
/* Clear Wake Up flag */
PWR_ClearFlag(PWR_FLAG_WU);
}
print("PRERIVANIE 1");
/* Clear the Key Button EXTI line pending bit */
EXTI_ClearITPendingBit(EXTI_Line1);
}
}
Тут на руском языке инфа есть немного
http://www.gaw.ru/html.cgi/txt/doc/micros/...x_arh/index.htm