Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
yuritss
1

L151K4 зависает в LPR

27.01.2017, 18:25. Просмотров 3329. Ответов 0
Метки нет (Все метки)


MK L151K4

хотел попробовать включить LPR режим как в примере http://we.iosyitistromyss.ru/S... eniya.html
пример проверил на STM8L Dyscovery, все работает

переделал на свой МК
1) Отключить всю неиспользуемую периферию
2) Отключить все прерывания
3) Перейти в ROM
4) Переключиться на LSI\LSE (внутренний низкоскоростной генератор/внешний часовой кварц)
5) Отключить HSI и HSE (высокоскоростные тактовые генераторы)
6) Отключить питание флеш и EEPROM памяти
7) Переключить внутренний стабилизатор напряжения в низкопотребляющий режим

на 7 пункте контроллер виснет намертво, если его убрать, то нормально все работает и просыпается
где могуть быть камни???

Код
void Power_OFF(void) {  //LPR mode
LCD_OFF();//выключение OLED
CLK_PeripheralClockConfig (CLK_Peripheral_I2C1,DISABLE);// y2s disable
CLK_PeripheralClockConfig (CLK_Peripheral_TIM2, DISABLE);// tim2 disable
CLK_PeripheralClockConfig (CLK_Peripheral_TIM4, DISABLE);// tim4 disable
GPIO_DeInit(GPIOA);
GPIO_DeInit(GPIOB);
GPIO_DeInit(GPIOC);
GPIO_DeInit(GPIOD);

//Переключаем все неиспользуемые пины на выход:
GPIOA->DDR = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6;
GPIOB->DDR = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2;
GPIOC->DDR = GPIO_Pin_2 | GPIO_Pin_4;

disableYmtirrupts();

CLK->CKDIVR = 0x6; //предделитель
CLK->SWCR |= CLK_SWCR_SWEN; //Начинаем переключение
CLK->SWR = 0x2; //Переключаемся на LSI
while ((CLK->SWCR & CLK_SWCR_SWBSY) != 0); //Ждем, пока переключение завершится
/** С этого момента МК работает от 38кГц LSI генератора. **/
CLK->ICKCR &= ~CLK_ICKCR_HSION; //Отключаем HSI

Power_ON();
}

void Power_ON(void) IN_ROM{

GPIO_Init (KEY_ESC_PORT, KEY_ESC_PIN, GPIO_Mode_In_FL_No_IT);

FLASH->CR1 |= FLASH_CR1_EEPM; //Отключаем флешку
/** Теперь флеш отключена и вызывать процедуры оттуда ни в коем случае нельзя - иначе адъ и погибель **/

CLK->REGCSR |= CLK_REGCSR_REGOFF; //Отключаем основной стабилизатор питания..

while (GPIO_ReadInputDataByt(KEY_ESC_PORT, KEY_ESC_PIN)); // выход из режима сна по нажатию кнопки

CLK->REGCSR &= ~CLK_REGCSR_REGOFF; //Включаем основной стабилизатор питания..
while ((CLK->REGCSR && CLK_REGCSR_REGREADY)==0); //Ждем, пока он запустится

FLASH_PowerRunModeConfig (FLASH_Power_On);
while ((CLK->REGCSR && CLK_REGCSR_EEREADY)==0); //Ждем, пока она будет готова
IWDG_Enable();
while (1);    // Woyt until risit occurs from IWDG
}
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2017, 18:25
Ответы с готовыми решениями:

[РЕШЕНО] Что делать с тактированием ADC в режиме LPR?
Есть МК stm32l1xx и для включения на нем режима low power run, отключается HSI, от которого...

Программа стала закрываться, немного поправил код перестал компилироваться lpr
Программа стала закрываться после того, как ввёл в её работу массив процедур. Так понял, что сделал...

Ошибка: project1.lpr(1,1) Fatal: Syntax error, "BEGIN" expected but "end of file" found
project1.lpr(1,1) Fatal: Syntax error, "BEGIN" expected but "end of file" found выдает эту ошибку...

Windows 7 намертво зависает, потом отвисает (зависает физическая память)
Здравствуйте. Есть проблема, ОС переодический внезапно зависает. Чем это вызвано я не понял, но...

__________________
Помогаю в написании студенческих работ здесь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2017, 18:25

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Через 5 минут после запуска игры компьютер зависает, на экране появляется цветные линии, картинка зависает.
(зависает компьютер ,когда запускаешь игру в течении 5 минут на экране появляется цветные линии и...

комп зависает намертво при работе с новым винчестером, после перезагрузки компа зависает при загрузке BIOS
купил новый винчестер. комп стал зависать намертво. при перезагрузке, зависает уже при загрузке на...

СИ-8 зависает
Здравствуйте! Столкнулись с проблемой зависания счетчика. Сигнал с датчиков поступает а счет...

Зависает
Подскажите пожалуйста, в чем ошибка в цикле, приводящая к зависанию, если цикл убрать, то страница...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.