找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 925|回复: 3
收起左侧

请教各位坛友关于RTX51的一个问题

[复制链接]
ID:899981 发表于 2021-12-3 09:59 | 显示全部楼层 |阅读模式
请教各位坛友关于RTX51的一个问题:RTX51每个任务在运行时执行在每个动作不是以INT_CLOCK        EQU        10000这个为基准的?看下面程序:
/******************************************************************************/
/*    Task 2 'job2':  RTX-51 tiny starts this task with os_create_task (2)    */
/******************************************************************************/
job2 () _task_ 2  {
  while (1)  {                        /* endless loop                         */
    counter2++;                       /* increment counter 2                  */
    if ((counter2 & 0xFFFF) == 0)  {  /* signal overrun of counter 2          */
      os_send_signal (3);             /* to task 3                            */
                        
     LED2 = ~LED2;
    }
  }
}

观察变量运行结果,counter2每600多毫秒翻转一次,晶振12M,如果按晶振为基准的话应该是65535就是65毫秒翻转一次,所以时间上有些不对。如果以INT_CLOCK为基准的话应该是600多秒翻转一次,所以不清楚是哪里的问题。
回复

举报

ID:276663 发表于 2021-12-3 13:41 | 显示全部楼层
首先你的单个任务没有释放CPU,然后你看看A51文件里有个TIMESHARING,定义如果一个任务不释放cpu,给他限定的切换周期。
回复

举报

ID:899981 发表于 2021-12-3 15:04 | 显示全部楼层
IdeaMing 发表于 2021-12-3 13:41
首先你的单个任务没有释放CPU,然后你看看A51文件里有个TIMESHARING,定义如果一个任务不释放cpu,给他限定 ...

谢谢您,如果释放MCU的话对延时有没有影响?还是延时后再释放?
回复

举报

ID:301191 发表于 2021-12-4 01:22 | 显示全部楼层
顶一下
回复

举报

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

本版积分规则

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

Powered by 单片机教程网

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