小编K.R*_*.R.的帖子

Android USB主机通讯

我正在开发一个利用Android 3.2中的USB Host功能的项目.一般来说,我在USB /串行通信方面缺乏令人遗憾的缺乏知识和才能.我也无法找到任何我需要做的好示例代码.

我需要从USB通信设备上读取.
例如:当我通过Putty(在我的电脑上)连接时,我输入:

>GO
Run Code Online (Sandbox Code Playgroud)

设备开始为我喷出数据.俯仰/滚动/温度/校验.

例如:

$R1.217P-0.986T26.3*60
$R1.217P-0.986T26.3*60
$R1.217P-0.987T26.3*61
$R1.217P-0.986T26.3*60
$R1.217P-0.985T26.3*63
Run Code Online (Sandbox Code Playgroud)

我可以从Android设备发送初始'GO'命令,此时我收到'GO'的回音.

然后在任何后续读取上没有别的.

我该怎么做:1)发送'go'命令.2)读入结果数据流.

我正在使用的USB设备具有以下接口(端点).

设备类别:通讯设备(0x2)

接口:

接口#0类:通信设备(0x2)端点#0方向:入站(0x80)类型:中断(0x3)轮询间隔:255最大数据包大小:32属性:000000011

接口#1类:通信设备类(CDC)(0xa)端点#0地址:129编号:1方向:入站(0x80)类型:批量(0x2)轮询间隔(0)最大数据包大小:32属性:000000010

端点#1地址:2编号:2方向:出站(0x0)类型:批量(0x2)轮询间隔(0)最大数据包大小:32属性:000000010

我能够处理权限,连接到设备,找到正确的接口并分配端点.我只是想弄清楚使用哪种技术发送初始命令读取随后的数据.我尝试了bulkTransfer和controlTransfer的不同组合,没有运气.

谢谢.

我正在使用界面#1,如下所示:

public AcmDevice(UsbDeviceConnection usbDeviceConnection, UsbInterface usbInterface) {
    Preconditions.checkState(usbDeviceConnection.claimInterface(usbInterface, true));
    this.usbDeviceConnection = usbDeviceConnection;

    UsbEndpoint epOut = null;
    UsbEndpoint epIn = null;
    // look for our bulk endpoints
    for (int i = 0; i < usbInterface.getEndpointCount(); i++) {
      UsbEndpoint ep = usbInterface.getEndpoint(i);
     Log.d(TAG, "EP " + i + ": " + ep.getType());
      if (ep.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK) { …
Run Code Online (Sandbox Code Playgroud)

io usb android serial-communication

16
推荐指数
1
解决办法
1万
查看次数

我可以组合SWT GridLayout和FillLayout

我有一个RCP/SWT应用程序,我正在尝试用现有的复合材料构建一个视图.一个是FillLayout复合,另一个是GridLayout.

我想最终得到一个视图,其中GridLayout复合排列在FillLayout复合的左侧(想想垂直横幅),大约是整个视图宽度的10%,现有的FillLayout复合包含其他90%.

我不确定在SWT中是否可以组合布局,但我想的是像有两列的GridLayout.第一列包含GridLayout小部件,第二列包含FillLayout组合.这可以在SWT中完成吗?如果是这样,这看起来像代码?

谢谢-

java swt eclipse-rcp

5
推荐指数
1
解决办法
5918
查看次数

标签 统计

android ×1

eclipse-rcp ×1

io ×1

java ×1

serial-communication ×1

swt ×1

usb ×1