AVR xmega 的 sleep模式怎么唤醒

2019-03-24 20:23发布

我做的是一个锂电池供电的系统,需要进入sleep的powerdown模式进行节电。


The only interrupts that can wake up the MCU are the Two Wire Interface address match interrupts, and asynchronous port interrupts, e.g pin change.


手册上说的可以用 外部中断(INT0 INT1 INT2)唤醒,我想问的就是  是只要发生这些中断就会被唤醒?

不能指定特定的某个中断进行唤醒吗?(INT0 INT1 都已被开启)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
zqjqq88
1楼-- · 2019-03-25 16:35
哦,小法 发表于 2015-7-28 14:15
在sleep_mode();之前需要把所有耗电的外设都关闭?然后在唤醒中断的服务函数里重新打开?

对,我是这个意思~
哦,小法
2楼-- · 2019-03-25 18:24
 精彩回答 2  元偷偷看……
哦,小法
3楼-- · 2019-03-25 19:51
zqjqq88 发表于 2015-7-28 16:13
对,我是这个意思~

只要有相关中断  肯定会自动退出休眠的意思咯?不需要我做任何操作吧
zqjqq88
4楼-- · 2019-03-25 22:10
哦,小法 发表于 2015-7-28 16:41
只要有相关中断  肯定会自动退出休眠的意思咯?不需要我做任何操作吧

哈哈,我只是个想法,你自己尝试下呗
哦,小法
5楼-- · 2019-03-25 22:50
TWI 地址匹配中断是个什么东西 ,一直唤醒休眠、
哦,小法
6楼-- · 2019-03-26 00:18
  1. while(1)
  2.   {       
  3.          /*if (PC_Stutes==0)
  4.           {
  5.                  SLEEP_ON();
  6.           }
  7.           else if (PC_Stutes==1)
  8.           {
  9.                   
  10.           }*/
  11.         if (PC_Stutes==0)
  12.         {
  13.                 //WriteCom(0x17);
  14.                 PORTD7_INT1_MASK_Disable;  //2.关PD.2中断
  15.                 PORTF_INT_Disable;         //  关PF.2中断
  16.                 ADCA_CTRLA=0x00;           //3.AD转换关
  17.                 USARTC0_INT_Disable;
  18.                 WDT_Disable();
  19.                 RTC_INT_Disable;
  20.                 RTC_Disable;              //关看门狗、RTC
  21.                 SLEEP_ON();
  22.                 //WriteCom(0x19);
  23.         }
  24.         else if (PC_Stutes==1)
  25.         {
  26.                 if (WAKEUP_Flag==1)
  27.                 {
  28.                         PORTD7_INT1_MASK_Enable;   //2.开PD.7中断
  29.                         PORTF_INT_Enable;          //  开PF.2中断
  30.                         ADCA_CTRLA=0x01;           //3.AD转换开
  31.                         USARTC0_INT_Enable;
  32.                         RTC_Enable;               //开看门狗、RTC
  33.                         RTC_INT_Enable;
  34.                         WDT_Enable();
  35.                         WAKEUP_Flag=0;
  36.                 }
  37.         /**************************/       
  38.         }
复制代码


这几天调试了点别的东西,powerdown断断续续也测试完了 ,po上代码  ,看了应该就明白了

一周热门 更多>