您的位置:首页 > 其它

初学zigbee--IO口中断产生配置条件

2015-07-25 23:57 309 查看

IO口中断产生配置条件

中断概述;CC2530的CPU有18个中断源,每个中断请求可以通过设置中断使能 SFR 寄存器的中断使能位 IEN0,IEN1 或者 IEN2 使能或禁止

1. CPU中断开关打开

EA=1//打开CPU总中断

2. 组(P0 P1 P2)中断开关打开

IO口中断的中断使能位分别位于IEN1,IEN2, 0为中断禁止(不允许中断),1为中断使能(允许中断)

P0的中断使能位(即中断开关)在IEN1(共8位,0~7)的第5位



P1的中断使能位(即中断开关)在IEN2(共8位,0~7)的第4位

P2的中断使能位(即中断开关)在IEN2(共8位,0~7)的第1位



3. 组内引脚开关打开(P0组有8个引脚 P1组有8个引脚 P2组有5个引脚)

0为中断禁止,1为中断使能

P0IEN(7:0)对应P0组的8个引脚 //>_< 7:0意为第7位到第0位

P1IEN(7:0)对应P1组的8个引脚

P2IEN(7:0)对应P2组的8个引脚



4. 配置什么时候中断:上升沿产生中断还是下降沿产生中断

0表示上升沿,1表示下降沿

通过配置PICTL



中断处理函数

格式

<pre name="code" class="cpp">#pragma vector =PxINT_VECTOR    //#pragma vector =中断向量
__interrupt void fun()             //中断函数
{
/*
函数
*/
/*
中断函数的最后要有清中断标志,否者将一直中断,即一直执行中断函数
*/

PxIFG=0; 		//清中断标志

/*
PxIFG寄存器有8位表示每个组的各个引脚,在产生中断的时候该组的该位将产生置位,例如P0_0产生中断,P0IFG的第0位将由0变成1
*/

PxIF=0;         //清中断标志

/*
PxIF为一个标志位,每一组对应一个PxIF 例如P0_0产生中断,则P0IF将产生置位
*/
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: