STC单片机外部中断里面还能串口中断吗?我的外部中断里面的程序15秒循环才返回,这时15秒还没有完会 20

外部中断里面还能串口中断吗?我的外部中断里面的程序15秒循环才返回,这时15秒还没有完会跳到串口中断吗我的没有反映,串口有数据他还在外部中断里面,没有放下外部中断先处理串... 外部中断里面还能串口中断吗?我的外部中断里面的程序15秒循环才返回,这时15秒还没有完会跳到串口中断吗
我的没有反映,串口有数据他还在外部中断里面,没有放下外部中断先处理串口
展开
 我来答
TLast_Ghost
2015-03-04 · TA获得超过1542个赞
知道小有建树答主
回答量:649
采纳率:20%
帮助的人:515万
展开全部
51单片机好像有两个级别的中断优先级,可以中断嵌套一次,但前提时优先级要高,不过有些51芯片可能优先级更多,这我不清楚。。。印象里51是不存在复位中断标志位的操作(其他很多芯片可以复位中断标志,这样无论其他中断高低都可以引起中断,而且你能读到中断地址,这样理论可以无限嵌套,只要你把中断地址保存入栈即可,51印象里PC指针就不能读),51你必须靠iret指令来退出中断,所以嵌套很有限,老的只有2级嵌套,优先级貌似也不能设置,外部的中断优先级最高,串口中断优先级低无法产生。。。
中断函数切记内容要少,如果实时要求不高的话,直接就只是置位一个标志即可,由主循环查看标志执行。。。15秒肯定不行。。。代码可以写的更合理些,避免这种代码长时间在中断里运行的情况,任何芯片程序都是如此。。。毕竟只是单片机功能弱,单线程你还想有多高实时性。。。
外部中断更多的是提醒功能,高实时性的要求场合装实时系统是必须的,来划分多任务并行才行,此时中断就更应该短,他只用来置位一些系统对象(如信号量消息等),由系统调度让优先级更高的线程任务去执行,既不耽误中断,实时性也高。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式