找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2005|回复: 6
收起左侧

stm32的中断配置问题

[复制链接]
ID:473410 发表于 2019-7-8 21:16 | 显示全部楼层 |阅读模式
看了32的中断库函数配置,一直有一个问题,这个响应优先级和抢占优先级到底是一句什么配置的。从数字上看就是,两者之和相加等于4.如下图:
,那么设置一个中断,它的抢占优先级和响应优先级除了满足是和为4之外还有什么别的限制吗,比如说我随便用一个中断,抢占优先级是3,那么响应优先级应该是1,这样对程序有什么影响吗?
回复

使用道具 举报

ID:282095 发表于 2019-7-9 10:50 | 显示全部楼层
目前我也一直学STM32F103的芯片
回复

使用道具 举报

ID:123289 发表于 2019-7-9 17:19 | 显示全部楼层
仔细读手册
回复

使用道具 举报

ID:524458 发表于 2019-7-9 20:43 | 显示全部楼层
根据你的程序的执行顺序设置中断啊   不能乱设置  不然会报错的
回复

使用道具 举报

ID:473410 发表于 2019-7-10 11:00 | 显示全部楼层
SUPER111111 发表于 2019-7-9 20:43
根据你的程序的执行顺序设置中断啊   不能乱设置  不然会报错的

我想知道是怎么设置的,我看历程都是满足和等于4,并没有说抢占和响应优先级分别应该设置为多少
回复

使用道具 举报

ID:539559 发表于 2019-7-19 18:39 | 显示全部楼层
要看你中断优先级分组是什么 假设是x(x=0~4),抢占优先级就只能设置为0~(2^x)-1,响应优先级只能设置为0~【2^(4-x)】-1,并非楼主说的相加为4。
回复

使用道具 举报

ID:388197 发表于 2019-7-19 20:47 | 显示全部楼层
32的抢占优先级 和从优先级概念大概就是高抢占优先级(数字小)可以打断低抢占优先级,比如中断A 抢占优先级 0 从优先级4  中断B 抢占2 从0,那么A可以打断B,反之则不行.如果两个中断抢占一样,则高从优先级不能打断正在执行的同抢占优先级低从优先级的中断.两个同抢占优先级的中断,CPU会优先响应高从优先级的中断.比如中断C 抢占1 从 1 中断D 抢占1 从2, 中断E 抢占1 从 3 ,假设CPU正在执行中断E,突然中断C 和D都有中断请求,那么CPU继续执行直到E执行完,然后根据C 和D的从优先级,优先响应C.
抢占优先级和从优先级用4位来配置,比如你配置1位抢占优先级 3位从优先级,那么你就可以对某个中断设置2个抢占优先级(0---1) 和8个从优先级(000-111).如果设置成4位抢占 0位从,(16个抢占优先级,0个从)则成了类似51的中断模式,如果设置成0位抢占,4位从(0个抢占,16个从),则中断不能打断中断.
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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