Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
arduino USB主机屏蔽can';t连接到xbox 360接收器/GPIO测试失败_Arduino_Arduino Uno_Gpio_Xbox360_Usb Hostcontroller - Fatal编程技术网

arduino USB主机屏蔽can';t连接到xbox 360接收器/GPIO测试失败

arduino USB主机屏蔽can';t连接到xbox 360接收器/GPIO测试失败,arduino,arduino-uno,gpio,xbox360,usb-hostcontroller,Arduino,Arduino Uno,Gpio,Xbox360,Usb Hostcontroller,作为我在Arduino UNO的第一个项目,我已经尝试使用我的Xbox 360控制器控制RC大约一周了,尽管我遇到了一个问题,我的USB屏蔽似乎无法连接到接收器或无法识别,我使用了Xbox接收器库开发人员Kristian Lauszus提供的以下示例代码: /* Xbox无线接收器库示例草图-由Kristian Lauszus开发 它支持多达四个无线控制器 有关更多信息,请参阅博文:http://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-a

作为我在Arduino UNO的第一个项目,我已经尝试使用我的Xbox 360控制器控制RC大约一周了,尽管我遇到了一个问题,我的USB屏蔽似乎无法连接到接收器或无法识别,我使用了Xbox接收器库开发人员Kristian Lauszus提供的以下示例代码:

/*
Xbox无线接收器库示例草图-由Kristian Lauszus开发
它支持多达四个无线控制器
有关更多信息,请参阅博文:http://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/ 或
给我发一封电子邮件:kristianl@tkjelectronics.com
*/
#包括
//满足IDE,IDE也需要在ino中看到include语句。
#ifdef dobogusinclude
#包括
#恩迪夫
#包括
USB;
XBOXRECV Xbox(和Usb);
无效设置(){
序列号开始(115200);
#如果!已定义(\uuu MIPSEL\uuuu)
while(!Serial);//等待串行端口连接-用于Leonardo、Teensy和其他内置USB CDC串行连接的主板
#恩迪夫
如果(Usb.Init()==-1){
Serial.print(F(“\r\nOSC未启动”);
while(1);//停止
}
Serial.print(F(“\r\nXbox无线接收器库已启动”);
}
void循环(){
任务();
如果(Xbox.XboxReceiverConnected){
对于(uint8_t i=0;i<4;i++){
如果(Xbox.Xbox360Connected[i]){
if(Xbox.getButtonPress(L2,i)| | Xbox.getButtonPress(R2,i)){
连续打印(“L2:”);
Serial.print(Xbox.getButtonPress(L2,i));
串行打印(“\tR2:”);
Serial.println(Xbox.getButtonPress(R2,i));
setRumbleOn(Xbox.getButtonPress(L2,i),Xbox.getButtonPress(R2,i),i);
}
如果(Xbox.getAnalogHat(LeftHatX,i)>7500 | | Xbox.getAnalogHat(LeftHatX,i)<-7500 | | Xbox.getAnalogHat(LeftHatX,i)<-7500 | | Xbox.getAnalogHat(righhatx,i)>7500 | | | Xbox.getAnalogHat(righhatx,i)<-7500 | | | | | | | Xbox.getAnalogHat(righhatx,i)<-7500 | | |{
if(Xbox.getAnalogHat(LeftHatX,i)>7500 | | Xbox.getAnalogHat(LeftHatX,i)<-7500){
串行打印(F(“LeftHatX:”);
Serial.print(Xbox.getAnalogHat(LeftHatX,i));
串行打印(“\t”);
}
如果(Xbox.getAnalogHat(LeftHatY,i)>7500 | | Xbox.getAnalogHat(LeftHatY,i)<-7500){
连续打印(F(“LeftHatY:”);
Serial.print(Xbox.getAnalogHat(LeftHatY,i));
串行打印(“\t”);
}
如果(Xbox.getAnalogHat(RightHatX,i)>7500 | | Xbox.getAnalogHat(RightHatX,i)<-7500){
连续打印(F(“RightHatX:”);
Serial.print(Xbox.getAnalogHat(RightHatX,i));
串行打印(“\t”);
}
如果(Xbox.getAnalogHat(RightHatY,i)>7500 | | Xbox.getAnalogHat(RightHatY,i)<-7500){
连续打印(F(“RightHatY:”);
Serial.print(Xbox.getAnalogHat(RightHatY,i));
}
Serial.println();
}
如果(Xbox.getButtonClick(向上,i)){
Xbox.setLedOn(LED1,i);
序列号:println(F(“Up”);
}
如果(Xbox.GetButton单击(向下,i)){
Xbox.setLedOn(LED4,i);
连续打印(F(“向下”);
}
如果(Xbox.getButtonClick(左,i)){
Xbox.setLedOn(LED3,i);
序列号。println(F(“左”);
}
如果(Xbox.getButtonClick(右,i)){
Xbox.setLedOn(LED2,i);
序列号:println(F(“右”);
}
如果(Xbox.GetButton单击(开始,i)){
Xbox.setLedMode(交替,i);
Serial.println(F(“开始”);
}
如果(Xbox.getButtonClick(BACK,i)){
Xbox.setleBlink(全部,i);
序列号。打印号(F(“背面”);
}
如果(Xbox.getButtonClick(L3,i))
序列号println(F(“L3”);
如果(Xbox.getButtonClick(R3,i))
序列号println(F(“R3”);
如果(Xbox.getButtonClick(L1,i))
序列号println(F(“L1”);
如果(Xbox.getButtonClick(R1,i))
序列号println(F(“R1”);
如果(Xbox.getButton单击(Xbox,i)){
Xbox.setLedMode(旋转,i);
串行打印(F(“Xbox(电池:”));
Serial.print(Xbox.getBatteryLevel(i));//电池电量在0-3范围内
序列号println(F(“)”);
}
如果(Xbox.GetButton单击(同步,i)){
Serial.println(F(“Sync”));
Xbox.disconnect(i);
}
如果(Xbox.GetButton单击(A,i))
连续打印(F(“A”);
如果(Xbox.getButtonClick(B,i))
序列号。打印号(F(“B”);
如果(Xbox.getButtonClick(X,i))
序列号:println(F(“X”);
如果(Xbox.getButtonClick(Y,i))
连续打印(F(“Y”);
}
}
}
}
基本上,当在循环中的第一个IF语句中调用方法“Xbox.xboxReceiveConnected”时,它会给出一个错误的布尔输出,指示接收器在第一个位置没有连接。在过去的一周里,我一直在绞尽脑汁试图解决这个问题,但运气不佳,有什么建议吗

更新,在一些挖掘之后,我运行了board_qc测试,结果如下:

Circuits At Home 2011
USB Host Shield Quality Control Routine
Reading REVISION register... Die revision 03
SPI long test. Transfers 1MB of data. Each dot is 64K................ SPI long test passed
GPIO test. Connect GPIN0 to GPOUT7, GPIN1 to GPOUT6, and so on
Test failed. Value written: 00 Value read: FF 
Press any key to continue...
按完所有键后,什么也没发生。有什么问题