2017-07-04 181 views
0

我正在構建一個通過USB OTG與Arduino Nano進行通信的Android應用程序。我試圖從Arduino發送數據到我的手機。我的應用使用這個library。在波特率< = 115200波特它能正常工作,但如果我設置例如230400波特率,UsbSerialPort拋出一個IOException,說「波特率230400目前不支持」。 但是,在Arduino和計算機之間,波特率在相同的Arduino草圖下最高可達2 MBaud。 我的問題是:有什麼辦法可以達到比115200波特更高的波特率?在Android上可以實現大於115200波特率的USB波特率嗎?

回答

0

是可以實現USB的波特率比115200更大,這些都是支持的值:

  case 300: 
       baudrate=0x2710; 
       break; 
      case 600: 
       baudrate=0x1388; 
       break; 
      case 1200: 
       baudrate=0x09C4; 
       break; 
      case 2400: 
       baudrate=0x0271; 
       break; 
      case 4800: 
       baudrate=0x4138; 
       break; 
      case 9600: 
       baudrate=0x4138; 
       break; 
      case 19200: 
       baudrate=0x809C; 
       break; 
      case 38400: 
       baudrate=0xC04E; 
       break; 
      case 57600: 
       baudrate=0x0034; 
       break; 
      case 115200: 
       baudrate=0x001A; 
       break; 
      case 460800: 
       baudrate=0x4006; 
       break; 
      case 921600: 
+0

不幸的是,460800和921600不工作:(我得到負值,而我只發送​​陽性 –

+0

左右。它與你正在使用的庫有關。 查看支持的串口設備和Android設備列表 - > https://github.com/mik3y/usb-serial-for-android/wiki/Compatible-Serial - 設備 https://github.com/mik3y/usb-serial-for-android/wiki/Compatible-Android-Devices –