一、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条评论
快来发表一下你的评论吧 !