找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1473|回复: 3
打印 上一主题 下一主题
收起左侧

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

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

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




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



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



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

使用道具 举报

沙发
ID:514317 发表于 2022-3-14 18:40 | 只看该作者

补下  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 单片机教程网

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