原创 关于STM32的中断优先级设置--systick

2013-1-14 15:10 6069 24 25 分类: MCU/ 嵌入式

项目中需要将systick中断的优先级调低,遇到的问题总结如下:

1. STM32中断优先级是使用4-bit来表示的,即总共有16个级别。

2. 优先级分为2个部分:抢先优先级和子优先级,上述的4个bit可以灵活分配给抢先优先级和子优先级,比如,1个bit表示抢先优先级,则剩余3个bit表示子优先级。固件库中对应的函数是:NVIC_PriorityGroupConfig()。

3. 中断分为内核中断和芯片(STM32)中断,配置的寄存器位置是不同的,芯片中断的配置使用NVIC,内核中断(比如systick)的配置使用SCB。

4. 内核中断优先级设置使用函数:NVIC_SetPriority(),此函数需要一个表示优先级的参数,可以利用NVIC_EncodePriority()这个函数生成,比如:

  NVIC_SetPriority(SysTick_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(), 0, 1));//抢先优先级:0(最高);子优先级:1(中)
 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户913991 2014-12-21 20:32

以芯片资料为准,缺省状态为default,里面会有说明。

用户1752914 2014-5-17 10:43

你好,首先谢谢你。如果我要设置成320*240分辨率,该怎么设置呢,你能不能给我具体讲讲呀?刚买回来默认的是什么模式的呀?默认的分辨率是多少呀?

用户377235 2013-7-11 17:35

赞,看了好多资料,到了这里看懂了,谢谢
相关推荐阅读
用户424443 2016-03-18 13:44
Android安卓开发环境的建立--写给初学者
几个基本概念: (一)安卓的开发主机,可以是win、linux、mac os其一;常用的是windows,比如win7. (二)开发安卓手机APP使用的编程语言是JAVA,IDE常用的是E...
用户424443 2015-01-15 17:57
安卓模拟器Genymotion虚拟设备启动失败问题的解决方法
几个基本概念: 1、Genymotion是安卓开发环境的一种模拟器,加载APP的速度比较快(模拟器本身启动也是需要相当长时间)。 2、Genymotion依赖于VirtualBox(著名的...
用户424443 2014-12-15 17:18
JLINK的SW调试模式连线方式
大家知道,JLINK有2种调试模式:JTAG和SWD(串行模式)。     JTAG是常用模式,大家都熟悉、不废话了;如果使用SW模式,需要(只需要)4根连线,连接...
用户424443 2014-02-25 11:35
给单片机初学者的忠告
现在是2014年了,回想整整20年前的1994,那时我应该坐在北京一个高校的教室里听老先生讲51单片机的课程。岁月荏苒,时过境迁,科技发展的潮流不可阻挡,技术的发展更是一日千里:“单片机”成了“嵌...
用户424443 2014-01-14 10:07
STM32休眠模式的调试方法
STM32有3种休眠模式,其中,STOP模式一旦启动后,芯片进入休眠模式,HSE等振荡器不再有效工作,JTAG调试失效。如果在STOP模式下,希望仍能使用JTAG进行正常调试,如何实现?比如,进入...
EE直播间
更多
我要评论
1
24
关闭 站长推荐上一条 /3 下一条