Android USB-Serial转Arduino R3

时间:2014-02-02 02:11:37

标签: android serial-port usb arduino

我正在为Android操作系统开发一个简单的应用程序。它需要与Arduino Uno可靠地通信。我在USBStudio上使用了USBSerialDriver。我正在获取数据,但有丢弃的字符。我的代码如下。当我使用Google Play上提供的应用时,我得到相同的结果。除了一个可以运行Arduino-Communicator的应用程序。我唯一想到的是,在Arduino-Communicator中,他们为驱动程序设置了一些设置字节来配置Arduino接口。这可能使用我目前使用的库吗?

        // Get UsbManager
        UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);

        // Find the first available driver.
        UsbSerialDriver arduinoDrv = UsbSerialProber.acquire(manager);


        // setup serial port
        if (arduinoDrv != null) {
            // establish connection
            try {
                arduinoDrv.open();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                arduinoDrv.setBaudRate(9600);
            } catch (IOException e) {
                e.printStackTrace();
            } 
            try {
                numBytesRead = arduinoDrv.read(rxBuff, 500);
            } catch (IOException e) {
                e.printStackTrace();
            }

            rxBuff[numBytesRead]=0;

这是Arduino-Communicator中的代码。我只是不知道它是否有助于丢弃数据包以及如何使用上面的USBSerialdriver实现它。

    // Arduino USB serial converter setup
    // Set control line state
    mUsbConnection.controlTransfer(0x21, 0x22, 0, 0, null, 0, 0);
    // Set line encoding.
    mUsbConnection.controlTransfer(0x21, 0x20, 0, 0, getLineEncoding(9600), 7, 0);

谢谢!

0 个答案:

没有答案