打印
[AVR单片机]

MEGA48 省电模式 求解

[复制链接]
8867|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qiangdao|  楼主 | 2010-1-11 22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
48进入省电模式 后是不是只能用异步时钟 使TIM2 中断唤醒?我以前用的是掉电模式(试验成功);但是后来需要改成若无其他状态装置每5秒将从休眠模式自动唤醒处理一次来处理数据;用的是内部CLK(ASSR =0;),这样配置有问题吗 ?
TIM2程序配置如下
int Tim2_Interrupt_Count=0;

void TIM2_Configuration(void)
{
OCR2A = 25;   
ASSR = 0;         //同步模式      
TIMSK2 |= (1 << OCIE2A); /* 中断屏蔽寄存器 比较中断A允许*/
TCCR2A = 0x02;    //比较输出模式选择
TCCR2B = 0x00;    /*定时器工作在CTC计数器模式*/
TCCR2B |= 0x04;    /*设置定时器的分频值为64分频*/
}

ISR(TIMER2_COMPA_vect)
{

Tim2_Interrupt_Count++;
if(Tim2_Interrupt_Count>3124)   //5S  3125
{
   LED_ON;
   LED3_ON;
   if(Tim2_Interrupt_Count>6250)  //点亮灯时间为3.2ms 3126
   {
     LED_OFF;
     LED3_OFF;
     Tim2_Interrupt_Count=0;         
   }
}
sleep_enable();      //进入睡眠模式
sei();
sleep_cpu();

}

Tim2_Interrupt_Count的值在0和1之间变化;感觉是像装置复位~ 但是没有用WTD和BOD。

相关帖子

沙发
qiangdao|  楼主 | 2010-1-12 08:45 | 只看该作者
顶一下 大虾灌灌水 ~~~

使用特权

评论回复
板凳
qiangdao|  楼主 | 2010-1-12 19:02 | 只看该作者
晕 ~将睡眠语句放在主程序中就OK啦~
sleep_enable();      //进入睡眠模式
sei();
sleep_cpu();

程序结构有问题~但是具体怎么造成这样的 不得而知啦 望大虾提点·

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

162

帖子

1

粉丝