完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
就是在ucosii系统中,多任务执行时,发生了串口中断,然后其他的任务函数就被打断了并不再执行,同时设置其他的任务函数的任务优先级比引起串口中断的任务的要高,所以想问问有谁知道如何通过临界区来解决呢?!
谢谢。 |
|
相关推荐
4个回答
|
|
1.执行完中断函数系统要进行一次任务调度,查找任务就绪表中优先级最高的任务并运行。你的意思是想,执行完中断函数之后 返回被中断任务吗?这样的话,一开始就把这个任务优先级设置高一点。
2.或者这个和串口相关的任务用DMA去做。这样子不会被其他任务影响。 3.还有这个任务被中断对你系统影响很大吗?试着从其他任务着手,比如精简其他任务,系统调度时间间隔减小 |
|
|
|
就是从这里掉出来的 发表于 2017-9-11 17:24 先谢谢了, 由于我要做的是ucosii系统多任务处理,所以当有任务在执行后发生了相关中断,从而打断其他任务的切换执行,这就是我目前需要解决的问题。目前不想使用DMA。 至于你说的减少系统调度时间,要如何做呢? |
|
|
|
我说的最后那个减少系统调度时间是说,如果任务被打断的时间太长,到了其他任务不能忍的程度。可以减小系统时间片。RTX系统里有个时间片大小设置,也就是高等级任务运行完一个时间片,由系统进行调度 接着去运行其他就绪任务
|
|
|
|
就是从这里掉出来的 发表于 2017-9-14 23:02 恩,我先去试试 谢谢。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
806 浏览 1 评论
842 浏览 0 评论
MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记
614 浏览 0 评论
自定义系统时钟频率后,用库函数和微带两种方式点亮LED灯,为什么灯的闪烁频率不一致?
1428 浏览 2 评论
1644 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 05:47 , Processed in 0.489580 second(s), Total 67, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号