初级会员

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