找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2226|回复: 3
收起左侧

关于单片机操作系统rtx51 tny时间片大小的问题

[复制链接]
ID:514317 发表于 2022-3-14 18:36 | 显示全部楼层 |阅读模式
     以前写简单的程序时间等待都用软件延时Delay凑合用下就完了,最近练习其他功能时想吧功能都写在一起,用软延时就多少有点抵触,感觉浪费单片机处理时间,于是就研究起了系统自带的操作系统----rtx51tny,以为能很好的分配单片机运行时间,但实际运行过程中问题很大,最主要的问题是时间片增大的问题。
    rtx51tny的设置简单就不多说了,系统配置:STC8H单片机1T模式,40M,时间片设置1000,轮询超时设置5(实际使用大于1就行,作用不大),计算时间片为:1/40M*1000=25us,实际使用单任务控制不停led取反就能得到单时间片运行时间,使用某一个宝网上的30块逻辑分析仪最后测试得40us,所以实际情况为系统切换时间+等待时间是 15+25=40us

  随后我就在任务1加了显示5位数码管任务测得单时间片最小值为:40us左右-----最小时间片基本没改变  

1

1
51hei截图_20220314175928.png



后来我就在任务2加了ADC取样取平均值任务测得单时间片最小值为:42左右-----最小时间片基本也没改变
51hei截图_20220314174646.png 51hei截图_20220314175928.png


最后我前面的基础上加了串口1通讯任务测得最小单时间片猛增加到  483us
7.png 9.png 8.png


     串口1通讯仅仅增加了一个中断入口4,调试了好几天,都没找出来为什么时间片会由原来的40us----增加到--483us,是子程序的问题还是中断的问题造成的????所以请论坛内大师给看下什么原因。
       可以预见的是针对rtx51tny,先调试好子程序再加入主程序时会产生设置好的时间片增加的问题,子程序越多可能时间片增大的越多,所以中间的延时就需要重新按实际情况调试后填进去,至于是代码增多还是中断的造成的这个问题,目前还没找找到原因。
回复

使用道具 举报

ID:514317 发表于 2022-3-14 18:40 | 显示全部楼层
3.png 4.png 5.png 6.png
补下  2个任务与ADC的图
回复

使用道具 举报

ID:301191 发表于 2022-3-15 05:16 | 显示全部楼层
顶一下
回复

使用道具 举报

ID:67085 发表于 2022-9-6 16:01 | 显示全部楼层
while(busy)os_wait(K_TMO,1,0);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表