当前位置: 代码迷 >> VxWorks >> 打断循环(VxWorks)解决办法
  详细解决方案

打断循环(VxWorks)解决办法

热度:1069   发布时间:2013-02-26 00:00:00.0
打断循环(VxWorks)
假如我有个这样的程序

C/C++ code
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);
------解决方案--------------------------------------------------------
用多任务,这个任务只用来显示,另开一个任务用来等待键盘事件,获取键盘事件后置一个标志,显示任务查询发现标志改变后退出循环。
------解决方案--------------------------------------------------------
楼上说得不错

任务间可以通过信号量来传递信息
  相关解决方案