单片机/MCU论坛
直播中

xiao_cc

9年用户 8经验值
擅长:嵌入式技术
私信 关注
[问答]

求助:关于单片机与蓝牙通信问题

单片机是STC89C52RC  蓝牙是HC05和HC06  两款都用过
代码以前写的成功运行,最近又拿来用一下发现用不了。
连接:VCC-VCC  GND-GND  TXD-RXD  RXD-TXD  蓝牙为从机已经AT调配好了(曾经用过了成功的)
手机连接蓝牙后发送信息   代码可以跑到串口中断函数中,如图
zzm875402431_1469528823428_53.png
每次发送led2会取反,但是判断Buffer(判断SBUF也试过)后就没反应,如main函数中
zzm875402431_1469528841436_23.png 手机发送字符过去led不会亮
感觉是Buffer=SBUF这里有问题,没有赋值过去,或者SBUF寄存器根本就没有存
一个月前在学校也是这个问题,然后不知道为什么突然就能用了,现在又有问题了,是不是模块也有问题,我换过两三个了没理由都坏了吧。

回帖(6)

chenwei6991627

2016-7-27 09:31:38
你最好把接收到的东西,打印出来看看到底是什么,或者用示波器看波形,我有蓝牙板子nrf51822,不需要单片机,自带的,直接可以和电脑通讯,需要可以联系我
举报

xiaosong000

2016-7-27 20:37:21
最好把Buffer数据想办法发出来
举报

王志睿

2016-7-27 21:16:25
通信内容最好不要用单个的字符,平时感觉没什么,一旦通信过程中有其他内容就会被接受并符合,然后产生误判。有可能你说的情况时好时坏就是这个原因。建议使用多字节通信,就是一次发送多个字节数据,并判断检验,比如按下一个按键发送“0F002532”等,有相应的头尾和校验值,出错概率非常小。
举报

xiao_cc

2016-7-30 11:26:39
引用: xiaosong000 发表于 2016-7-27 20:37
最好把Buffer数据想办法发出来

电脑串口助手可以接收手机发送给蓝牙的内容  但是单片机没有处理
举报

xiao_cc

2016-7-30 11:28:01
引用: 渴死的鱼儿 发表于 2016-7-27 21:16
通信内容最好不要用单个的字符,平时感觉没什么,一旦通信过程中有其他内容就会被接受并符合,然后产生误判。有可能你说的情况时好时坏就是这个原因。建议使用多字节通信,就是一次发送多个字节数据,并判断检验,比如按下一个按键发送“0F002532”等,有相应的头尾和校验值,出错概率非常小。 ...

单字节只是做个测试  问题是我单片机没有接收蓝牙的数据  再连电脑串口  串口助手可以接收到蓝牙的数据
举报

王志睿

2016-7-30 15:15:54
引用: xiao_cc 发表于 2016-7-30 11:28
单字节只是做个测试  问题是我单片机没有接收蓝牙的数据  再连电脑串口  串口助手可以接收到蓝牙的数据

那应该是程序问题了,可能是程序没有检测到数据
举报

更多回帖

发帖
×
20
完善资料,
赚取积分