Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC213x в PowerDown
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Andy Mozzhevilov
не могу понять, но,
если в pwd перейти записью PCON = 7, то есть согласно документации с выключением работы BOD в PWD режиме, то при выходе из PWD происходит рестарт контроллера.
Если в PWD перейти PCON = 3 (оставив BOD работающим), то выход из pwd происходит нормально.
На reset все нормально, никаких провалов. Vcc = 3.3, то есть под ситуацию из errata не попадает.
В pwd захожу по уровневому прерыванию на EINT2, в прерывании же меняю полярность, сбрасываю флаг и включаю пробуждение по EINT2, засыпаю, просыпаясь все восстанавливаю и выхожу.

Код
void Eint_isr(void)
{
   // switch to power down
   EXTPOLAR_bit.EXTPOLAR2 = 0;   //0 - low level aclive
   EXTINT_bit.EINT2       = 1;   //clear INT FLAG
   EXTWAKE_bit.EXTWAKE2   = 1;   //wake by INT2

   PIN_OFF(GREEN_LED);
   PCON = 7;                     // power down

   //exit from pwd
   PIN_ON(GREEN_LED);

   EXTWAKE_bit.EXTWAKE2   = 0;   //disable wake by INT2
   EXTPOLAR_bit.EXTPOLAR2 = 1;   //1 - high level aclive
   EXTINT_bit.EINT2       = 1;   //clear INT FLAG
}

int main (void)
{
   PIN_FUNC(EINT_PIN, 3);        //EINT2 mode
   EXTMODE_bit.EXTMODE2   = 0;   //0 - level sens
   EXTPOLAR_bit.EXTPOLAR2 = 1;   //1 - high level aclive
   EXTINT_bit.EINT2       = 1;   //clear INT FLAG

...
Andy Mozzhevilov
оказалось, глюк инженерных образцов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.