Мне помог друг-мехатроник, и его теория заключалась в том, что мыши каким-то образом получали питание, а почему-то не получали данные, и быстро выключались. Я очень сомневаюсь, что проблема связана с кодом, который я использую, поскольку я просто скопировал и вставил пример кода для доказательства концепции, который идеально компилируется с использованием библиотек, ссылки на которые приведены на странице документации на щите. Но я все равно свяжу это, если какая-то опечатка меня смущает. Я не смог диагностировать проблему самостоятельно, поэтому надеюсь, что кто-нибудь здесь сможет мне помочь
Код: Выделить всё
#include
#include
// Satisfy the IDE, which needs to see the include statment in the ino too.
#ifdef dobogusinclude
#include
#endif
#include
boolean LeftBtn = false;
boolean RightBtn = false;
boolean LeftBtnRls = false;
boolean RightBtnRls = false;
boolean MouseMoved = false;
int x;
int y;
class MouseRptParser : public MouseReportParser
{
protected:
void OnMouseMove (MOUSEINFO *mi);
void OnLeftButtonUp (MOUSEINFO *mi);
void OnLeftButtonDown (MOUSEINFO *mi);
void OnRightButtonUp (MOUSEINFO *mi);
void OnRightButtonDown (MOUSEINFO *mi);
};
void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
{
x = mi->dX;
y = mi->dY;
MouseMoved = true;
};
void MouseRptParser::OnLeftButtonUp (MOUSEINFO *mi)
{
LeftBtnRls = true;
};
void MouseRptParser::OnLeftButtonDown (MOUSEINFO *mi)
{
LeftBtn = true;
};
void MouseRptParser::OnRightButtonUp (MOUSEINFO *mi)
{
RightBtnRls = true;
};
void MouseRptParser::OnRightButtonDown (MOUSEINFO *mi)
{
RightBtn = true;
};
USB Usb;
USBHub Hub(&Usb);
HIDBoot HidMouse(&Usb);
MouseRptParser Prs;
void setup()
{
Serial.begin( 115200 );
#if !defined(__MIPSEL__)
while (!Serial);
#endif
Serial.println("Start");
if (Usb.Init() == -1)
Serial.println("OSC did not start.");
delay( 200 );
HidMouse.SetReportParser(0, &Prs);
}
void loop()
{
Usb.Task();
if(MouseMoved){
Serial.print("dx = ");
Serial.print(x);
Serial.print(" dy = ");
Serial.println(y);
delay(500);
MouseMoved = false;
}
if(LeftBtn){
Serial.println("Left Button Pressed");
LeftBtn = false;
}
if(RightBtn){
Serial.println("Right Button Pressed");
RightBtn = false;
}
if(LeftBtnRls){
Serial.println("Left Button Released");
LeftBtnRls = false;
}
if(RightBtnRls){
Serial.println("Right Button Released");
RightBtnRls = false;
}
}
[*]Экран установлен правильно.
[*]Экран установлен правильно. правильно припаяны на входе 3,3 В, входе 5 В и выходе 5 В.
[*]На экране Shield работает напряжение 3,3 В и 5 В.
[*]USB-порт принимает Питание 5 В.
[*]Установлены правильные библиотеки.
[*]Код отлично компилируется и загружается.
[*]Последовательная шина обменивается данными правильно. и может печатать все, что не связано с параметрами мыши.
[*]Другие USB-устройства также не работают
[*]Пока ничего не повреждено как я проверял и знаю.
[*]Мышь и другие устройства не включаются должным образом и не отправляют никаких данных на экран или плату.
Подробнее здесь: https://stackoverflow.com/questions/779 ... th-devices