Próbuję napisać kod Java, aby mój XOOM komunikował się z naszym urządzeniem osadzonym za pośrednictwem kabla USB na kabel szeregowy.wyjaśnienie dotyczące przesyłania danych w systemie Android w celu skonfigurowania komunikacji USB
użyłem tego chunck kodu:
connection.controlTransfer(0x21, 34, 0, 0, null, 0, 0);
connection.controlTransfer(0x21, 32, 0, 0, new byte[] { (byte) 0x80,
0x25, 0x00, 0x00, 0x00, 0x00, 0x08 }, 7, 0);
wiem, że to jest wysłanie żądania konfiguracji do urządzenia USB. Nie rozumiem, dlaczego requestType ma wartość 0x21, dlaczego requestID to 32, 34 itd.
Zgodnie ze specyfikacją tutaj: http://www.beyondlogic.org/usbnutshell/usb6.shtml#SetupPacket, w standardowym żądaniu urządzenia, standardowym żądaniu interfejsu i standardowym żądaniu punktu końcowego, żaden z requestType nie jest 0x21 i żaden z requestID nie jest 32 lub 34. Czy jest jakieś wyjaśnienie dla tych parametrów, w tym wysłany datownik?
Dziękuję Jezusowi. Teraz działa. Będę głosować, gdy zdobędę cztery dodatkowe punkty w mojej reputacji. – dan
Witam. Używam xamarin do opracowania aplikacji korzystającej z tego typu chipów. W języku xamarin metoda ControlTransfer() daje wyliczenie jako pierwszy parametr. Za każdym razem, gdy wywołuję tę funkcję tymi wartościami, zwraca -1. ControlTransfer (UsbAddressing.Out, 0x0000, 0x0001, 0, null, 0, 5000); Czy mógłbyś ewentualnie pomóc mi rozwiązać ten problem? –
@ a.toraby - proszę zadać pytanie. Jeśli chcesz, wysłuchaj mnie w komentarzach, aby upewnić się, że to widzę. – JesusFreke