打断循环(VxWorks)解决方案
打断循环(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);
[解决办法]用多任务,这个任务只用来显示,另开一个任务用来等待键盘事件,获取键盘事件后置一个标志,显示任务查询发现标志改变后退出循环。
[解决办法]楼上说得不错
任务间可以通过信号量来传递信息