2017-07-04 7 views
0

Je construis une application Android qui communique via USB OTG avec un Arduino Nano. J'essaye d'envoyer des données de l'Arduino à mon téléphone. Mon application utilise ce library. Aux débits en bauds < = 115200 bauds cela fonctionne correctement, mais si je règle le taux par exemple 230400 bauds, le UsbSerialPort jette une IOException, en disant que "Baud rate 230400 actuellement pas pris en charge". Toutefois, entre l'Arduino et l'ordinateur, les vitesses de transmission fonctionnent jusqu'à 2 Mbaud avec la même esquisse Arduino. Ma question est: Y at-il un moyen d'atteindre un débit en bauds plus élevé que 115200 Baud?Est-il possible d'atteindre un débit en bauds USB supérieur à 115200 bauds sur Android?

Répondre

0

Oui, vous pouvez obtenir la vitesse de transmission USB plus grand que 115200, ce sont les valeurs prises en charge:

  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

Malheureusement, 460800 et 921600 ne fonctionne pas :(Je reçois des valeurs négatives alors que j'envoie seulement positifs –

+0

donc. Voir la liste des périphériques série et appareils Android pris en charge -> https://github.com/mik3y/usb-serial-for-android/wiki/Compatible-Serial -Devices https://github.com/mik3y/usb-serial-for-android/wiki/Compatible-Android-Devices –