完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
玩ucosiii第四天,正在把曾经的一个项目移植到系统上来。但其中一个任务是需要us级别的扫描频率,开定时器中断去处理,此时会关闭系统中断。这样频繁开关中断,不就干扰了系统节拍吗,导致实时性变差?请各位大神指教,在这种情况下有没有好的办法提高实时性。
|
|
相关推荐
7个回答
|
|
|
系统节拍提高,就是给操作系统运行的时间变多了。系统进出中断的时间多了。实际上 是 重复跑了很多没有用的代码。一般性的OS 用8MS,或者10MS的节拍。
|
|
|
|
|
|
再把我的问题说一下,系统节拍1ms,开一个50us的TIM中断,而在这个中断里要处理一些数据,这时候系统节拍是停止的。假如在TIM中断里运行时间需要1ms(当然不会这么长,只是为了说明这个问题,也没有DMA),那系统节拍实际不就是1ms+1ms吗?那这样的情况明显就是拖慢了系统,各位在项目中有没有遇到类似的情况,都怎么解决,请不吝赐教~!
|
|
|
|
|
|
你50us的定时中断,处理任务自然不会超过50us,我认为不会影响到系统。另外ucos自己也有软定时器。
|
|
|
|
|
|
是50us中断一次,但是不能保证中断函数里的处理时间就一定比50us小啊,另外系统软定时器达不到这么高精度~!
|
|
|
|
|
|
如果是50us中断一次,但不是每次中断的响应的时间都很长,是偶尔满足条件才会执行一次1ms的话,那么对系统的影响不会太大。但最好不要在中断中去执行1ms,而是应当发送一个信号量去通知某任务来处理。
我觉得你的这个中断太频繁了,可能不用操作系统会更好,因为操作系统经常会开关中断,多任务的话也可能要开关中断来保护数据等,如果关中断的时间超过50us,你的那个中断的响应就无法得到执行了。 |
|
|
|
|
|
你的这个回复让我对操作系统有了更加系统的理解。一个星期,UCOS算是入门了,新移植的项目也正在试跑,3Q
|
|
|
|
|
|
你好! 我想问一下在你的50us中断里,是调用哪个函数去开关中断的?谢谢
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1022 浏览 1 评论
1852 浏览 0 评论
1833 浏览 1 评论
3258 浏览 5 评论
3585 浏览 9 评论
1025浏览 1评论
1852浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1362浏览 1评论
1855浏览 0评论
1180浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 11:04 , Processed in 0.787500 second(s), Total 86, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4780