Этот действительно заставляет меня биться головой.Я отправляю буквенно-цифровые данные из приложения Android через BluetoothChatService на последовательный адаптер Bluetooth, подключенный к последовательному входу радиоприемопередатчика.
Все работает нормально, кроме случаев, когда я пытаюсь настроить радио на-Ffly со своими AT-командами.AT +++ (вход в командный режим) получен в порядке, но проблема заключается в символах расширенного ascii в следующих двух командах: изменение адреса получателя радио (что я и пытаюсь сделать) требует CCh 10h (плюс 3 шестнадцатеричных числа)радиоадреса байтов), и для выхода из командного режима требуется CCh ATO.
Я знаю, что радио может быть настроено нормально, потому что я сделал это на более раннем прототипе с последовательными командами из PIC basic, и он также можетбыть настроенным, вводя команды непосредственно от hyperterm.Оба эти метода каким-то образом преобразуют этот надоедливый CCh в форму, понятную радио.
Я пробовал практически все, что мог придумать новичок Android, чтобы найти кодировку, такую как:
private void command_address() {
byte[] addrArray = {(byte) 0xCC, 16, 36, 65, 21, 13};
CharSequence addrvalues = EncodingUtils.getString(addrArray, "UTF-8");
sendMessage((String) addrvalues);
}
но несмотря ни на что, я не могу заставить этот байт старшего разряда (CCh / 204 / -52) вести себя так, как должен.Все остальные (<127) байты, команда или данные передаются без проблем.Любая помощь здесь будет принята с благодарностью. </p>
-Dave