OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8099|回复: 2

关于中断

[复制链接]

10

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2012-6-13
在线时间
0 小时
发表于 2012-6-23 11:49:02 | 显示全部楼层 |阅读模式
//设置NVIC分组
//NVIC_Group:NVIC分组 0~4 总共5组
//CHECK OK
//091209
void MY_NVIC_PriorityGroupConfig(u8 NVIC_Group)     
{
    u32 temp,temp1;     
    temp1=(~NVIC_Group)&0x07;//取后三位
    temp1<<=8;
    temp=SCB->AIRCR;  //读取先前的设置?????请教SCB->AIRCR是什么样的寄存器?始终没有找到
    temp&=0X0000F8FF; //清空先前分组
    temp|=0X05FA0000; //写入钥匙
    temp|=temp1;      
    SCB->AIRCR=temp;  //设置分组                                
}
void MY_NVIC_Init(u8 NVIC_PreemptionPriority,u8 NVIC_SubPriority,u8 NVIC_Channel,u8 NVIC_Group)     
{
    u32 temp;   
    u8 IPRADDR=NVIC_Channel/4;  //每组只能存4个,得到组地址
    u8 IPROFFSET=NVIC_Channel%4;//在组内的偏移
    IPROFFSET=IPROFFSET*8+4;    //得到偏移的确切位置为什么IPROFFSET*8+4
    MY_NVIC_PriorityGroupConfig(NVIC_Group);//设置分组
    temp=NVIC_PreemptionPriority<<(4-NVIC_Group);     
    temp|=NVIC_SubPriority&(0x0f>>NVIC_Group);
    temp&=0xf;//取低四位

    if(NVIC_Channel<32)NVIC->ISER[0]|=1<<NVIC_Channel;//使能中断位(要清除的话,相反操作就OK)
    else NVIC->ISER[1]|=1<<(NVIC_Channel-32);   这个NVIC->ISER  寄存器是哪里出现的
    NVIC->IPR[IPRADDR]|=temp<<IPROFFSET;//设置响应优先级和抢断优先级                                   
}
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

71

主题

467

帖子

0

精华

高级会员

Rank: 4

积分
800
金钱
800
注册时间
2011-11-18
在线时间
5 小时
发表于 2012-6-23 12:14:13 | 显示全部楼层
一开始建议不要看或写太复杂的代码.先自己写.这样学才快.原子的例程代码不适合我们这些菜鸟看.

这个贴子我写的,我用了一周才搞懂中断,你按顺序看看吧.

http://www.openedv.com/posts/list/5875.htm
http://www.openedv.com/posts/list/5920.htm
http://www.openedv.com/posts/list/5940.htm
http://www.openedv.com/posts/list/5957.htm
http://www.openedv.com/posts/list/5999.htm
http://www.openedv.com/posts/list/6026.htm
我的工作就是天天在玩
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-6-23 12:19:47 | 显示全部楼层
1,在CM3权威指南里面找.
2,这个你还是要看<<CM3权威指南>>关于NVIC设置的部分.
3,右键->go to definition.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 08:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表