KT6368A蓝牙芯片发送指令设置中文蓝牙名是乱码 这个要如何处理

2023-11-15 11:10:58 浏览数 (2)

一、KT6368A蓝牙芯片为什么发送at指令设置中文spp蓝牙名,是乱码 这个要如何处理

  1. 其实这个问题挺麻烦的,目前默认的版本是只支持英文名或者数字
  2. 原理其实就是编码的问题,手机端显示蓝牙名,它的编码是UTF-8格式的。而我们发送AT指令设置蓝牙名其实是ASCLL码的编码格式
  3. 所以理论上,您发送AT指令的时候,按照utf-8的编码发送,是可以显示中文蓝牙名的
  4. 这里详细描述实现的方法,可能会比较麻烦一点

详细说明-分为四步实现

第一步,在pc端新建一个txt文档,将您需要的名字,汉字打出来,另存为UTF-8编码

第二步,使用winhex软件,当然其他的可以,其实就为了看他的16进制,您要是找到其他软件,那就更简单了,目前我还没找,如下图:

得到了“蓝牙名123”这个的utf8编码

0xE8, 0x93, 0x9D, 0xE7, 0x89, 0x99, 0xE5, 0x90, 0x8D, 0x31, 0x32, 0x33

第三步,使用串口软件发AT指令去设置,这里我们测试spp的改名字为中文

指令如下:

41 54 2B 42 44 E8 93 9D E7 89 99 E5 90 8D 31 32 33 0D 0A

这里分为三个部分,分别是AT BM 蓝牙名123 回车换行 ,如下图所示:

第四步,查看手机搜索到的蓝牙名如下:

到这里就实现了修改为中文蓝牙名的操作,所有的步骤 。BLE的中文名称也是如此

总之,你需要手机端显示汉字,那么就必须遵命这个规则,其他的字母或者数字都是1个字节标识,和ascll码一样

直接按照正常的AT指令修改就好了

0 人点赞