Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Raspberry Pi | Linux |检测释放键| WASD C中的键盘控件_C_Linux_Keyboard_Raspberry Pi_Release - Fatal编程技术网

Raspberry Pi | Linux |检测释放键| WASD C中的键盘控件

Raspberry Pi | Linux |检测释放键| WASD C中的键盘控件,c,linux,keyboard,raspberry-pi,release,C,Linux,Keyboard,Raspberry Pi,Release,我想在我的PI中实现WASD控件。到目前为止,这也很有效 #include "bcm2835.h" #define SLEEPTIME 500 #define GPIO17 RPI_GPIO_P1_11 ... while(running) { // get key printf("wait for key:"); system("/bin/stty raw"); key = getchar(); system("/bin/stty cooked");

我想在我的PI中实现WASD控件。到目前为止,这也很有效

#include "bcm2835.h"
#define SLEEPTIME   500
#define GPIO17      RPI_GPIO_P1_11
...
while(running) {    

  // get key
  printf("wait for key:");
  system("/bin/stty raw");
  key = getchar();
  system("/bin/stty cooked");
  printf(" key %i pressed!\n", key);

  // key-logic
  switch(key) {
    case 'w': 
      printf("set GPIO 17 HIGH"); 
      bcm2835_gpio_write(GPIO17, HIGH);
      bcm2835_delay(SLEEPTIME);  // <-- wanna remove this!
    break;
  }

  // reset GPIO
  bcm2835_gpio_write(GPIO17, LOW);
  printf("\n");
}
...
#包括“bcm2835.h”
#定义睡眠时间500
#定义GPIO17 RPI\U GPIO\U P1\U 11
...
当(运行时){
//拿到钥匙
printf(“等待键:”);
系统(“/bin/stty raw”);
key=getchar();
系统(“/bin/stty”);
printf(“键%i按下!\n”,键);
//关键逻辑
开关(钥匙){
案例“w”:
printf(“设置GPIO 17高”);
bcm2835_gpio_写入(GPIO17,高);

bcm2835_延迟(睡眠时间);//你必须记住你在这里检查的是什么,你不是在检查键盘上是否按了实际的按钮,你是在检查输入流中是否有字符。你问的行为可能涉及到与键盘本身的接口。看看驱动程序开发和硬件接口。编辑:它也是值得注意的是,一些本机库存在于允许您检查键盘状态的系统中,我不确定pi系统是否有。感谢您的快速响应。我将在此方向上寻找结果。我认为我有一个很好的发现。我将进行测试并给出反馈。不幸的是,我没有成功的书面解决方案。我已经用一个主函数和一个连续循环扩展了代码。不幸的是,一切都像以前一样工作。没有意识到密钥已经被释放。我做错了什么吗?