WHX 发表于 2025-1-2 09:29:45

中断可以最多同时开几个?

<p>请教各位大佬,中断可以最多同时开几个?比如同时开</p>
<p>定时器0中断、定时器1中断、串口1接收中断、串口DMA接收中断、</p>
<p>ADC中断、INT0中断、INT1中断等7个?</p>
<p>优先级应如何设置才比较合理?<img alt="baoquan" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/baoquan.gif" title="baoquan" /></p>

神农鼎 发表于 2025-1-2 10:15:19

可以全开

_奶咖君_ 发表于 2025-1-2 10:20:34

<p>我一般是画个xy轴,x轴重要性,y轴执行时长,然后把这些中断往里面放。一般以重要程度高,执行时间短的安排在最高优先级。一些执行时间长,又不怎么重要的,安排最低优先级。当然,这些只是一个基础的安排方法,还要根据实际的项目需求,使用方式来改变。</p>

xxkj2010 发表于 2025-1-2 12:04:00

开得太多的话,如果同一时间有多个中断响应,那中断处理就有了先后慢急了。

WHX 发表于 2025-1-2 12:34:28

_奶咖君_ 发表于 2025-1-2 10:20
我一般是画个xy轴,x轴重要性,y轴执行时长,然后把这些中断往里面放。一般以重要程度高,执行时间短的安排 ...

哦,这种设置思路不错,我尝试一下看看,感谢

WHX 发表于 2025-1-2 14:07:42

<p>已经测试 过了,因同时使用的中断太多,导致好像有啥影响一样而不能达到预设的功能,放弃了。</p>

WHX 发表于 2025-1-2 15:11:24

_奶咖君_ 发表于 2025-1-2 10:20
我一般是画个xy轴,x轴重要性,y轴执行时长,然后把这些中断往里面放。一般以重要程度高,执行时间短的安排 ...

请教一下,我想改用定时器T3、T4【此处作为计数器来使用,16位自动重载模式】来对外部脉冲进行计数,计数器T3的计数寄存器为T3L+T3H合成的16位寄存器,计数器T3使用P0.4脚,计数器T4使用P0.6脚,计数器T4的计数寄存器为T4L+T4H合成的16位寄存器,是否只要读取这2个16位寄存器的值就是外部脉冲的数量?

_奶咖君_ 发表于 2025-1-2 15:22:35

WHX 发表于 2025-1-2 15:11
请教一下,我想改用定时器T3、T4【此处作为计数器来使用,16位自动重载模式】来对外部脉冲进行计数,计数 ...

很抱歉,这种功能我没有用过,,你可以找一下手册中是否有相应的例程,或者实验箱的{:xiaojiujie:}

lgnstar 发表于 2025-1-2 15:33:54

是不是在中断里面做了太多比较费时间的计算

WHX 发表于 2025-1-11 14:20:07

lgnstar 发表于 2025-1-2 15:33
是不是在中断里面做了太多比较费时间的计算

我的中断里面处理的数据都很短,时间远远小于2us,应该不会存在太费时间的问题,可能是别的问题导致的。
页: [1] 2
查看完整版本: 中断可以最多同时开几个?