USB HOST不显示文本(Nexus 6p和stm32)

时间:2016-11-17 16:13:02

标签: android serial-port usb host stm32

我正在尝试写一些东西到串口/ dev / ttyACM0(STM32)。 Andorid将STM32视为/ dev / bus / usb / 001/002。

我已经通过usb连接手机Nexus 6p和Stm32。

我看到了Google USB HOST示例,所以我尝试做同样的事情。

我与stm和授予权限连接

UsbDeviceConnection connection = mManager.openDevice(mdevice);



String simpleText = "a";
    byte[] DATA = simpleText.getBytes(Charset.forName("UTF-8"));
    int TIMEOUT = 10;

尝试这个

 UsbEndpoint endpoint = mdevice.getInterface(0).getEndpoint(0);

 connection.claimInterface(mdevice.getInterface(0), true);
connection.bulkTransfer(endpoint, DATA, DATA.length, TIMEOUT);

还有我的Stm中的小程序,用于从序列中读取

#include "mbed.h"
#include "LCD_DISCO_L476VG.h"

LCD_DISCO_L476VG lcd;
Serial pc(USBTX, USBRX); 

DigitalOut led_green(LED1);

char c;
uint8_t buff[1];

int main() {
   lcd.Clear();
   while(1) {
       if(pc.readable()) {
           buff[0] = pc.getc();
lcd.DisplayString(buff);
   }
}
}

但STm32 lcd中没有显示任何内容。

权限:

permission granted for device UsbDevice[mName=/dev/bus/usb/001/002,mVendorId=1155,mProductId=14155,mClass=239,mSubclass=2,mProtocol=1,mManufacturerName=STMicroelectronics,mProductName=STM32 STLink,mVersion=2.0,mSerialNumber=066FFF485649785087165544,mConfigurations=[
                                                                         UsbConfiguration[mId=1,mName=null,mAttributes=128,mMaxPower=150,mInterfaces=[
                                                                         UsbInterface[mId=0,mAlternateSetting=0,mName=ST-Link Debug,mClass=255,mSubclass=255,mProtocol=255,mEndpoints=[
                                                                         UsbEndpoint[mAddress=129,mAttributes=2,mMaxPacketSize=64,mInterval=0]
                                                                         UsbEndpoint[mAddress=1,mAttributes=2,mMaxPacketSize=64,mInterval=0]
                                                                         UsbEndpoint[mAddress=130,mAttributes=2,mMaxPacketSize=32,mInterval=0]]
                                                                         UsbInterface[mId=1,mAlternateSetting=0,mName=ST-Link mass storage,mClass=8,mSubclass=6,mProtocol=80,mEndpoints=[
                                                                         UsbEndpoint[mAddress=131,mAttributes=2,mMaxPacketSize=64,mInterval=0]
                                                                         UsbEndpoint[mAddress=3,mAttributes=2,mMaxPacketSize=64,mInterval=0]]
                                                                         UsbInterface[mId=2,mAlternateSetting=0,mName=ST-Link VCP Ctr,mClass=2,mSubclass=2,mProtocol=1,mEndpoints=[
                                                                         UsbEndpoint[mAddress=132,mAttributes=3,mMaxPacketSize=2,mInterval=255]]
                                                                         UsbInterface[mId=3,mAlternateSetting=0,mName=ST-Link VCP Dat,mClass=10,mSubclass=0,mProtocol=0,mEndpoints=[
                                                                         UsbEndpoint[mAddress=5,mAttributes=2,mMaxPacketSize=8,mInterval=0]
                                                                         UsbEndpoint[mAddress=133,mAttributes=2,mMaxPacketSize=16,mInterval=0]]]]

Meybe这是错的?

  UsbEndpoint endpoint = mdevice.getInterface(0).getEndpoint(0);

有什么建议吗? :)

0 个答案:

没有答案