打印

请教RTX51 tiny问题

[复制链接]
2095|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
djjyi|  楼主 | 2008-8-14 11:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我按照手册重新写了个简单程序如下:

#include <rtx51tny.h>                  
#include <reg52.h>

long counter0;                        
long counter1;                         
 
job0 ()_task_ 0    
 {                  
  os_create_task(1);   //建立任务0              

  while (1)  {                         
    counter0++;    
  }
}
 
job1 ()_task_ 1 
{
  while (1)  {                         
    counter1++;  
  }
}
编译是通过了 但是仿真时程序老是执行任务0 不能执行任务1 请教各位是什么原因?

相关帖子

沙发
djjyi|  楼主 | 2008-8-14 14:34 | 只看该作者

re

怎么没人理?是不是太简单了?

使用特权

评论回复
板凳
John_Lee| | 2008-8-17 13:22 | 只看该作者

你没有把 rtx51tiny 设置成 round-robin 模式

使用特权

评论回复
地板
djjyi|  楼主 | 2008-8-18 08:38 | 只看该作者

re

?那怎么设置呢?不是直接#include <rtx51tny.h> 后 在operating 设置rtx51tiny就行了?

使用特权

评论回复
5
xjycug| | 2010-2-6 21:38 | 只看该作者
这个问题你解决了吗?我现在也遇到了。但是我觉得不是设置round-robin的问题,因为设置为round-robin只需要将"Conf_tny.A51"文件中TIMESHARING不设置为0即可,但是我也试过,好象还是只能在task0中跑,我是把编译得到的.hex文件直接下载到单片机中的,觉得程序序运行得还很乱,如果只有task0一个任务还运行正确,建立了其他任务后,程序运行得相当乱,不是我期望得那种,真不知道是咋回事??

使用特权

评论回复
6
zdhlixiang2006| | 2010-3-21 14:48 | 只看该作者
我建立了一个工程,把楼主的程序拷了进去,编译通过了,仿真全速运行,观察两个计数变量,发现可以执行啊,但是如果把其中一个设为断点,就发现只会在一个任务里边运行了,不知道怎么回事

使用特权

评论回复
7
dongshan| | 2010-3-22 19:12 | 只看该作者
在counter0++; 后加一句 os_wait(K_TMO,2,0);试试...

使用特权

评论回复
8
zdhlixiang2006| | 2010-3-23 13:58 | 只看该作者
不要在一个任务里加断点,那样当然出不去了

使用特权

评论回复
9
zf_015820| | 2012-11-16 18:18 | 只看该作者
设置为round-robin只需要将"Conf_tny.A51"文件中TIMESHARING不设置为0即可; 如果这个设置后,不起作用,就应该是软件要升级了,升级成7.0以上版本,就可以用了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

294

帖子

0

粉丝