Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM23F105
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Firer
Очень надеюсь что кто-то сталкивался с подобной проблемой и может подсказать или натолкнуть в правильном направлении.
Бессонная ночь оказалась бесполезной sm.gif
В рабочем проекте - устройство с батарейным питанием которое входит в режим Стопа микроконтроллера - решено было ввести защиту памяти от чтения.
После включения защиты командой
FLASH_ReadOutProtection(1);

устройство перестало выходить из режима Стоп задаваемого командой
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
по прерыванию от кнопки включения питания (инициализация ниже):

// PA0
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Connect Poweron EXTI Line to Button GPIO Pin */
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0); // EXTINT0
/* Configure Poweron EXTI line */
EXTI_InitStructure.EXTI_Line = EXTI_Line0;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
/* Enable and set Poweron EXTI Interrupt to the lowest priority */
NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);

Устройство входит в режим Стоп, и больше из него не выходит. Задающий кварцевый естественно не генерит. Кварцевый 32768 нормально молотит.

Вот кусок кода из инициализации чтобы не кидали палками на то что уже есть
// Enable the GPIO Clock
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);

// Jtag disconnect
//GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
/* NVIC configuration */
/* 4 bits for Preemption Priority */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);

Спасибо если что!!

smk
Может дождаться выполнения команды? Посмотрите контроллер флеши, может в нем дело. А смысл в этой защите?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.