這一個真的讓我感動我的頭。我通過BluetoothChatService將來自Android應用程序的字母數字數據發送到連接到無線電收發器串行輸入的串行藍牙適配器。如何從Android藍牙發送擴展ascii AT命令(CCh)到串行設備?
一切工作正常,除非當我嘗試使用它的AT命令配置無線電時。接收AT +++(進入命令模式)OK,但問題出現在接下來的兩個命令中的擴展ASCII字符:更改無線電目標地址(這是我想要做的)需要CCh 10h(加上3個十六進制無線電地址字節),並且退出命令模式需要CCh ATO。
我知道收音機可以配置好,因爲我已經在PIC基本的串行命令的早期原型上完成了它,也可以通過直接從hyperterm輸入命令來配置。這兩種方法都可以將那個討厭的CCh轉換成無線電可以理解的形式。
我已經試過幾乎所有安卓小白也可能拿出來欺騙編碼如:
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)字節,命令或數據傳輸沒有問題。任何幫助在這裏將不勝感激。
-Dave