打印

[求教]关于Tornado的使用问题

[复制链接]
1966|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yxdengos|  楼主 | 2008-12-3 18:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用Tornado时间不长 请教大虾
版本是Tornado2.2

1. 编译器似乎不怎么好用 我发现使用/**/注释的时候中文似乎输入不进去

2. 编写代码的时候 修改换行缩进的地方在哪呢?

3. 由于初用VxWorks 请教一下 如果在main中使用 while(1)调用一个子程序 和 while(1)调用系统相关的任务(创建和挂起) 有什么去别

我把移植后的VxWorks作为单片机使用(呵呵仅仅试试) 发现使用while(1)调用printf时 整个shell都变得特别的慢(从输入命令 到最后出结果) 而例程有个在while中调用任务函数 就不会有这个问题 不知道子程序和任务在操作系统下面处理方式有什么差异

谢谢大家! 

相关帖子

沙发
yxdengos|  楼主 | 2008-12-7 18:02 | 只看该作者

虽然这些问题很简单 还是恳求大家帮帮忙

使用特权

评论回复
板凳
armecos| | 2008-12-8 08:11 | 只看该作者

《ecos增值包》里有VxWorks解决方案,

我一般用VC或者UE编辑,用Tornado编译,就没遇到你说的这些问题。
任务就是一个子程序,你创建任务的话,在运行时会并发执行,静态表现和子程序没区别。
你在printf之后加taskDelay延时即可。

*************************************
* VxWorks for LPC2210应用编程实战节选 *
*************************************
                      ------ 《ecos增值包》选配之VxWorks应用编程实战
    2007/04/22  asdjf@163.com  www.armecos.com

    VxWorks和ecos一样,都是多任务操作系统,都用GNU工具链开发,只是API函数名略有不同,因此,我们分别用ecos中介绍过的两个demo程序对照讲解VxWorks应用编程的开发方法。

#define STACK_SIZE 2000

void taska(int arg);
void taskb(int arg);
void taskc(int arg);

void demo1(void)
{
    printf("Demo1 Start...... ");
    
    taskSpawn("taska", 90, 0, STACK_SIZE, taska, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    
    taskSpawn("taskb", 90, 0, STACK_SIZE, taskb, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    
    taskSpawn("taskc", 90, 0, STACK_SIZE, taskc, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}

void taska(int arg)
{
    for(;;)
        {
        printf(" AAAAAA111111 is active.thread data is %d. ", arg);
        taskDelay(100);
        }
}

void taskb(int arg)
{
    for(;;)
        {
        printf(" BBBBBB333333 is active.thread data is %d. ", arg);
        taskDelay(300);
        }
}

void taskc(int arg)
{
    for(;;)
        {
        printf(" CCCCCC666666 is active.thread data is %d. ", arg);
        taskDelay(600);
        }
}

    由上可见,VxWorks中创建任务使用taskSpawn,延时使用taskDelay。下表对比了创建任务和任务延时在ucos51、ecos、VxWorks中的名称。
    ------------------------------------------------------
    |         |      创建任务       |      任务延时      |
    ------------------------------------------------------
    | ucos51  |    OSTaskCreate     |     OSTimeDly      |
    ------------------------------------------------------
    |  ecos   |  cyg_thread_create  |  cyg_thread_delay  |
    ------------------------------------------------------
    | VxWorks |     taskSpawn       |     taskDelay      |
    ------------------------------------------------------

上述文档可能不完整或已被更新,想获得该资料的最新最全版本,请访问:www.armecos.com

更多内容,详见:
我的培训中心
我的研发团队
我的技术顾问
    文件系统整体解决方案咨询套餐
    IP协议栈整体解决方案咨询套餐
    USB整体解决方案咨询套餐
    BootLoader整体解决方案咨询套餐

使用特权

评论回复
地板
yxdengos|  楼主 | 2008-12-8 09:04 | 只看该作者

非常感谢

使用特权

评论回复
5
yxdengos|  楼主 | 2008-12-11 10:38 | 只看该作者

使用特权

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

本版积分规则

28

主题

132

帖子

0

粉丝