stm32中断函数问题

2019-03-23 20:10发布

大家在写中断函数的时候是把开启中断语句放在设置中断优先级之前还是之后呢?为什么两种位置会有完全不同的结果?请指教。程序如下 void WWDG_Init(u8 tr,u8 wr,u8 fprer)
{        
 RCC->APB1ENR|=1<<11; //使能wwdg时钟
 WWDG_CNT=tr&WWDG_CNT;   //初始化WWDG_CNT.           
 WWDG->CFR|=fprer<<7;    //PCLK1/4096再除2^fprer
 WWDG->CFR&=0XFF80;    
 WWDG->CFR|=wr;      //设定窗口值    
 WWDG->CR|=WWDG_CNT|(1<<7); //开启看门狗,设置7位计数器            
 MY_NVIC_Init(2,3,WWDG_IRQChannel,2);//抢占2,子优先级3,组2   
WWDG->SR=0X00;//清除唤醒中断标志位 WWDG->CFR|=1<<9;        //使能提前唤醒中断 } 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
tzzhuang
1楼-- · 2019-03-24 03:07
/ 啊啊,自己顶起。
shower.xu
2楼-- · 2019-03-24 08:07
是不完全手册的例程吧,楼主放前放后有什么不同呢?我调试结果是一样的
tzzhuang
3楼-- · 2019-03-24 10:23
 精彩回答 2  元偷偷看……
shower.xu
4楼-- · 2019-03-24 10:48
注意窗口值一定要介于计数值和0x40之间,否则即使中断也不能刷新计数值来喂狗,会造成复位。
tzzhuang
5楼-- · 2019-03-24 16:29
恩,会注意的。多谢哦。

一周热门 更多>