这一个真的让我感动我的头。我通过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
2011-01-10
softex