首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > VxWorks >

打断循环(VxWorks)解决方案

2013-01-04 
打断循环(VxWorks)本帖最后由 cyd411 于 2010-06-10 11:25:32 编辑假如我有个这样的程序void test(){char

打断循环(VxWorks)
本帖最后由 cyd411 于 2010-06-10 11:25:32 编辑 假如我有个这样的程序


void test()
{
    char temp=0;
    while(1)
    {
       temp=getchar();      /*好像运行到这里就停下来了,等待出入回车后才行         */
       if(temp!= 0)
       {
          return ;
       }
       printf("loop.....");
    }
}

我想让屏幕一直输出loop。。。。(刷屏)

当我按下任意键盘的案件的时候,退出程序。

在网上我查找过相应的资料,但是提示用
#include<conio.h>
这里没有那个函数。。。。
getche() 

我还特意看了下,头文件里面有这个函数。。。

编译器是Tornado2_2







[解决办法]
getchar会等待的,有个标准库函数,可以用来检测是否有输入的.
试试_kbhit(),或是查一下C标准库函数.

[解决办法]
用gets()比较好
[解决办法]
如果你是从串口终端输入,那你可以通过read来读取按键值,如:
  read (consoleFd, &key, 1);
[解决办法]
用多任务,这个任务只用来显示,另开一个任务用来等待键盘事件,获取键盘事件后置一个标志,显示任务查询发现标志改变后退出循环。
[解决办法]
楼上说得不错

任务间可以通过信号量来传递信息

热点排行