OpenEdv-开源电子网

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

关于中断分组及抢占式优先级和响应优先级如何配置的问题

[复制链接]

2

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
155
金钱
155
注册时间
2019-9-5
在线时间
27 小时
发表于 2020-1-15 23:03:48 | 显示全部楼层 |阅读模式
1金钱
我在学习STM32的单片机,现在在做一个小玩意,具体是通过IIC读取相应探头的温湿度数据,经过处理后驱动相应的IO端口。
与此同时会通过串口1与串口屏进行通讯,把相应的数据发往串口屏进行显示,并通过串口屏接收相应的设置数据。
目前各个子功能模块写的差不多了,目前使用到中断的地方有几处:
1、串口接收中断
2、RTC秒中断,通过秒中断建立几个自增变量,让主程序按照一定的时间间隔处理读取IIC总线数据,发送数据给串口屏等任务。
3、看门狗中断,检测程序运行,一旦死机就重启。
现在中断分组及相关的抢占和响应优先级我是明白了,但是这几个中断应该分在那个抢占优先级和响应优先级我是一点经验也没有,
就想问一下,这三个中断应该如何分配优先级??哪个最高,哪个最低比较好?
我初步想法是:RTC秒中断抢占1,优先3;串口接受中断抢占2,优先2;看门狗中断抢占3,优先0,这样合理吗?

再问个相关问题,程序里用的延时函数是原子哥教程立面的延时函数,当延时过程中发生了中断,当中断处理完成返回时,中断处理所包括的
时间算在延时之内吗?举个例子,一个1000ms的延时,当延时到300ms时发生中断,处理中断花了200ms,那么中断完成返回时,是延时
500ms,还是延时700ms?



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
153
金钱
153
注册时间
2017-8-3
在线时间
29 小时
发表于 2020-1-18 09:59:58 | 显示全部楼层
我那时候试过,貌似在延时的时候,MCU 是不会执行其他的,只会执行延时,等待完成后,才会执行其他的。
时间短倒是没觉得,变得长一点就可以感觉出来了。
如果不对,大佬指正一下。
回复

使用道具 举报

8

主题

206

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1010
金钱
1010
注册时间
2016-4-6
在线时间
234 小时
发表于 2020-1-18 16:32:11 | 显示全部楼层
单片机是串行执行的,和明显,还是700ms。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-20 05:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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