【解决】关于蓝牙模块串口设置总是错误的问题

困扰了我老半天啊,也在网上找了好久的解决方案,居然又不是我这边的技术问题。。。深深感觉每次遇到问题没解决时就像是要设计一个模拟电路一样难,而解决问题后却发现又是如此的傻逼。。。

好了,说正事了。。。


话说,我希望做一个用蓝牙来控制Arduino的串口通信设备,来实现Arduino与PC的分离,于是乎我便找学校老师借了块蓝牙模块,问老师型号,老师说就是那最普通的那种。。。嗯最普通的那种,然后我到现在都没能找到它究竟是什么型号。。。HC05又感觉不像,因为有些AT指令它还识别不了。不过好在一些关键的,验证性的指令还是比较通用,然后我就在这样摸索的过程中找到了解决方案。


嗯我遇到问题是:无论怎么发送指令,蓝牙模块貌似都只能被激活一次的样子,也就是在我用ATSetTool的“自动找模块”时能偶尔检测到模块,然后至于写啊读啊什么的命令就一直返回error(0)错误了,开始我也不知道为什么,因为我完全是按照操作大多数蓝牙模块那样执行指令的。直到我看到了这个帖子http://bbs.elecfans.com/jishu_464744_1_1.html


上面说可能是串口助手的原因让\r\n当成字符来发送了。老实说,我并不懂蓝牙通信协议里面的事,但是既然人家这样说了,那就表明在AT命令里是必须严格按照它的指令来的,不能多一个字符或少一个字符,因此我按建议用十六进制的进行发送,然后终于成功了!



另外,在设置主从时,我的这款蓝牙模块需要的命令是AT+ROLE:0(从),特别注意到那个英文的冒号,不然的话也会返回error(0)的


所以说,鉴于串口助手的bug,碰到了我这个问题的童鞋们,就需要把我们每一行命令转换成十六进制的字符串,在此推荐个在线转换器吧,免得人工地找把眼睛都找花。。。O__O "…


http://www.mokuge.com/tool/asciito16/



  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值