普诚科技论坛

 找回密码
 立即注册
搜索
热搜: PT32 RF MCU Motor USB PLC
查看: 340|回复: 0

PT32U301进入Standby后,使用RTC唤醒和WAKEUP PIN唤醒

[复制链接]

78

主题

85

帖子

624

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
624
发表于 2017-5-12 16:06:18 | 显示全部楼层 |阅读模式
/*功能:
PT32U301进入STANDBY后,将被RTC以3秒为周期循环唤醒,也可被WAKEUP PIN的下降沿立即唤醒
*/

uLONG intrRTC=0,intrWAKEUP=0;
int main(void)
{
   /*............................时钟初始化(略).........................................*/
  NVIC_EnableIRQ((IRQn_Type) WAKEUP_IRQn);
  NVIC_EnableIRQ((IRQn_Type) RTC_IRQn);  
  SysAPBClkEnable(gCLK_UART0 | gCLK_RTC);
  SysAHBClkEnable(gCLK_GPIOD | gCLK_GPIOC | gCLK_GPIOB | gCLK_GPIOA);  
  SysIntoDSleepAPBClkEnable(gCLK_RTC);  //Enable into sleep gate clock

  UartInit();
  TICKConfig();
  GPIOAfr(GPIOD,BIT10,AF8);         //Set PD10 as WAKEUP(AF8)

   if(pSYSCtrl->SC_BK_CTRL & 0x2) // WakeUp from standby detection
   {
    pSYSCtrl->SC_BK_CTRL = 1;      //Enable BackUp Register Setting
    pSYSCtrl->SC_BKSLP_CTRL|=((uLONG)1<<31); //Clear Wakeup Flag

    printf("Hi!! I am Wakeup!!\r\n");
   }
   else //Power On.Configure standby mode
   {
    pSYSCtrl->SC_BK_CTRL = 1;                      //Enable BackUp Register Setting

    pSYSCtrl->SC_BKSLP_CTRL  = (0<<30)|(1<<28)|(1<<27)|(1<<26) | (1<<25) | (0<<24) |(3);

    pSYSCtrl->SC_BKRTC_CTRL |= (0xFF<<16)|(0x7F<<8)|(2<<2) |(1<<1)| 1;     
    pSYSCtrl->SC_BKRTC_CTRL&= ~(1<<1);     // Clear Reset Request RTC Counter
   }


   pRTCCtrl->RTC_ALMEN  = (1<<1)|1;         //Enable RTC Alarm

   pRTCCtrl->RTC_IER = (1<<17)|(1<<9) | (1<<1) |(1);   

   //
  TICKWaitms(10,1);
   SCB->SCR = (1UL << 2);  //Into DeepSleep
   __WFI();     //Wait For Interrupt

  while(1);
}

//--------------
void WAKEUP_IRQHandler(void)//irq 31
{
pSYSCtrl->SC_BK_CTRL = 1;     //Enable Access Backup Register
pSYSCtrl->SC_BKSLP_CTRL =((uLONG)1<<31);  //Clear Wakeup Flag
intrWAKEUP =1;
}
//--------------
void RTC_IRQHandler(void) //irq 8
{
intrRTC = pRTCCtrl->RTC_RIS;
pRTCCtrl->RTC_ISC = intrRTC;
}




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普诚科技公司|小黑屋|普诚科技论坛  

GMT+8, 2017-9-21 02:08 , Processed in 0.218484 second(s), 26 queries .

快速回复 返回顶部 返回列表