现象:HC-05蓝牙模块能向电脑串口发送数据,但无法正确接收电脑串口发来的数据。
自查:
1是否蓝牙模块损坏?
利用51单片机编程,实现接收到一个字节后将该字节发送出去,单片机波特率设置为9600bps,无检验位,1位停止位。将单片机与蓝牙模块的RXD和TXD分别交叉连接,上电后蓝牙模块进入数据传输模式,模块状态指示灯以0.5秒的时间间隔快闪(开始配对),使用手机上的蓝牙调试助手成功连接上蓝牙模块,在蓝牙调试助手上发送“AA”(十六进制),蓝牙调试助手成功接收到“AA”(十六进制)。证明蓝牙模块数据传输模式工作正常,51单片机程序运行正常,蓝牙调试助手正常。
2是否上位机串口调试助手异常?
利用上面正常运行的51单片机程序(波特率9600bps,无检验位,1位停止位),通过USB转TTL电路(该电路为51单片机自带的电路)连接到电脑串口。电脑已安装串口驱动,能正确识别到串口号;打开串口调试助手,选中识别到的串口号,设置波特率9600bps,无检验位,1位停止位,然后发送“55”(十六进制),调试助手正确接收到“55”(十六进制)。证明上位机串口调试助手正常,USB转TTL电路正常。
3蓝牙模块在数据传输模式下再一次验证电脑与模块间的通信情况
蓝牙模块通过USB转TTL电路连接到电脑串口,双方RXD和TXD正确连接,打开串口调试助手,选中识别到的串口号,设置波特率9600bps,无检验位,1位停止位。上电后蓝牙模块进入数据传输模式,模块状态指示灯以0.5秒的时间间隔快闪(开始配对),使用手机上的蓝牙调试助手成功连接上蓝牙模块,在手机端的蓝牙调试助手上发送“AA”(十六进制),电脑端的串口调试助手成功接收到“AA”(十六进制),但在电脑端的串口调试助手上发送“AA”(十六进制),此时手机端蓝牙调试助手接收但错误的数据“15”(十六进制)。
无法理解怎会会出现这种情况,请各位大佬指点迷津!