OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5077|回复: 3

蓝牙和单片机通信的问题,查资料好久都没解决。

[复制链接]

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-11-25
在线时间
7 小时
发表于 2015-12-18 22:34:57 | 显示全部楼层 |阅读模式
5金钱

我本意是想做一个手机蓝牙控制的智能小车的,按照一个同学给我的视频教程一步一步做的,重复做了几次,全都是遇到手机端发送消息没法控制单片机的情况。现在我已经把能省的步骤全部都省了。

手机端用的是:蓝牙串口通信助手。

电脑用:串口调试助手。(XCOM)

单片机用的是51的板子。芯片为89c52RC。晶振为11.0592。P0^0~P0^7是八个流水灯(低电平有效)。

蓝牙模块用的是:SPP-CA替代HC-06。只有VCC.GND.TXD.RXD四个引脚。与单片机连接RX-TX.TX-RX。

现在给自己的任务是用手机上的蓝牙串口通信助手发送数据来控制单片机上的P0^0和P0^1两个流水灯的亮灭。但是失败了。

调试的时候发现了这样几个问题。希望高手帮我分析一下。

1.程序下载到板子后,不接蓝牙模块的情况下,我直接通过PC端的串口调试助手给板子发送数据的时候可以控制板子上的流水灯的亮灭。

2.单片机RX.TX短接,通过PC端串口调试助手可以接收到发送的数据。蓝牙模块RX.TX短接,通过手机蓝牙串口调试助手也可以接收到发送的数据。

3.PC端的串口调试助手勾选了发送新行,相应的手机蓝牙串口通信助手选择的是命令行模式,结束符为char\r\n)保证手机和电脑发送的数据是一样的。

4.在我把电脑通过串口线连上单片机,单片机连上蓝牙模块,蓝牙模块和手机蓝牙连接时,我用手机通过蓝牙串口通信助手发送的数据可以在电脑上的串口调试助手上接收到。我把PC的串口调试助手发送显示和接收显示的形式都调为16进制的形式显示。确认了我通过手机发送的数据和我之前通过PC端串口调试助手能够控制流水灯亮灭的数据一致。

5.我觉得问题就在这个地方。我的单片机上面的电源灯上面还有两个LED灯,TX和RX指示灯,当我通过PC端向板子发送数据的时候(可以控制流水灯的亮灭),我每发送一次数据,随着流水灯的亮灭,RX指示灯就闪一次。但是我从手机端发送同样的数据时,我每发送一次,闪的却是TX指示灯。所以我觉得此时单片机不是处于接收蓝牙数据的状态,而是处于发送数据的状态。

下面我贴出我的程序。

[mw_shl_code=c,true]#include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit R1=P0^0; sbit R2=P0^1; uchar a=0; void init() { TMOD=0x20; //设置定时器T1为工作方式2 TH1=0xfd ; //T1装初值,高低复位 TL1=0xfd ; //T1装初值,高低复位 TR1=1; //启动定时器T1 REN=1; //允许串口接收 SM0=0; // SM1=1; //设置串口工作方式1 EA=1; //开总中断 ES=1; //开串口中断 } void main() { init(); while(1) { switch(a) { case 65: R1=!R1; break; case 66: R2=!R2; break; } } } void chuan() interrupt 4 { RI=0; //将接收中断标志位清0 a=SBUF; //读取单片机串口接收的蓝牙模块发送的数据 } [/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-12-19 13:52:36 | 显示全部楼层
要是可以仿真,就容易解决了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-11-25
在线时间
7 小时
 楼主| 发表于 2015-12-19 21:13:53 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
这个是人发送指令控制的。不知道该怎么仿真。
回复

使用道具 举报

10

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2012-11-22
在线时间
5 小时
发表于 2015-12-19 23:48:30 | 显示全部楼层
你发送了回车和换行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 22:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表