微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 如何解决ucosii系统中的串口中断和任务调度之间的协调性

如何解决ucosii系统中的串口中断和任务调度之间的协调性

时间:10-02 整理:3721RD 点击:
       就是在ucosii系统中,多任务执行时,发生了串口中断,然后其他的任务函数就被打断了并不再执行,同时设置其他的任务函数的任务优先级比引起串口中断的任务的要高,所以想问问有谁知道如何通过临界区来解决呢?!
       谢谢。

1.执行完中断函数系统要进行一次任务调度,查找任务就绪表中优先级最高的任务并运行。你的意思是想,执行完中断函数之后 返回被中断任务吗?这样的话,一开始就把这个任务优先级设置高一点。
2.或者这个和串口相关的任务用DMA去做。这样子不会被其他任务影响。
3.还有这个任务被中断对你系统影响很大吗?试着从其他任务着手,比如精简其他任务,系统调度时间间隔减小

先谢谢了,
由于我要做的是ucosii系统多任务处理,所以当有任务在执行后发生了相关中断,从而打断其他任务的切换执行,这就是我目前需要解决的问题。目前不想使用DMA。
至于你说的减少系统调度时间,要如何做呢?

我说的最后那个减少系统调度时间是说,如果任务被打断的时间太长,到了其他任务不能忍的程度。可以减小系统时间片。RTX系统里有个时间片大小设置,也就是高等级任务运行完一个时间片,由系统进行调度 接着去运行其他就绪任务

恩,我先去试试
谢谢。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top