首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求助 stop2进不去

求助 stop2进不去

我写的程序,wait 可以进去,stop有时可以进去,但是进取后又出不来,但有时候又进不去,我用的是irq唤醒。麻烦高人赐教,谢谢!用的芯片是mc9s08aw32

void Init_stop2(void)
{
SOPT_STOPE=1;//
SPMSC2_PPDC=1;

SPMSC1_LVDE=0;
}

void main(void) {
Init_IRQ();
Init_stop2();
EnableInterrupts; /* enable interrupts */
/* include your code here */

asm(STOP);

for(;;) {
if(SPMSC2_PPDF==1)
{
SPMSC2_PPDACK=1;
}
__RESET_WATCHDOG(); /* feeds the dog */
}

#pragma CODE_SEG NON_BANKED
interrupt 2 void IRQ_ISR(void)
{
if((IRQSC & 0x08)==0x08)
{
if(SPMSC2_PPDF==1)
{
SPMSC2_PPDACK=1;
}
IRQSC_IRQACK=1;
stop_flag=0;
}
}
#pragma CODE_SEG DEFAULT

要注意SOPT是一次性写入寄存器,即复位后只能写一次,即使只写其中一位也是这样。
海纳百川  有容乃大
返回列表