我有一个 Arduino,它以 115200 波特率串行发送数据。
有一个应用程序以 9600 波特率从 Arduino 接收数据。代码是
// 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);
//mUsbConnection.controlTransfer(0x21, 0x20, 0x001A, 0, getLineEncoding(9600), 7, 0);
然后在getLineEncoding()函数中
private byte[] getLineEncoding(int baudRate) {
final byte[] lineEncodingRequest = { (byte) 0x80, 0x25, 0x00, 0x00, 0x00, 0x00, 0x08 };
switch (baudRate) {
case 14400:
lineEncodingRequest[0] = 0x40;
lineEncodingRequest[1] = 0x38;
break;
case 19200:
lineEncodingRequest[0] = 0x00;
lineEncodingRequest[1] = 0x4B;
break;
}
return lineEncodingRequest;
}
有一个开关盒结构可以将波特率设置为 9600、14400 或 19200。但我希望它是115200谁能告诉我该怎么做?