OpenEdv-开源电子网

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

求救!手机通过蓝牙模块和STM无法通信

[复制链接]

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-11-25
在线时间
7 小时
发表于 2015-12-13 19:42:05 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]#include "delay.h" #include "sys.h" #include "usart.h" #include "lcd.h" void go() { LCD_ShowString(100,100,200,24,24,"go"); } void back() { LCD_ShowString(100,100,200,24,24,"back"); } int main(void) { u8 R; delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2 uart_init(9600); //串口初始化为9600 LED_Init(); //初始化与LED连接的硬件接口 LCD_Init(); while(1) { if(USART_RX_STA&0x8000) { R = USART_ReceiveData(USART1); R = USART_RX_BUF[0]; switch(R) { case 65:go(); break; case 66:back(); break; default:delay_ms(10); break; } USART_RX_STA=0; } } } [/mw_shl_code]
程序就这么简单,我用PC端串口调试助手给板子发送A、B能在板子上显示go、back。然后把板子连上蓝牙模块,手机打开蓝牙串口通信助手发送A、B或者65、66都没有反应,不过PC端的串口调试助手会显示我发送的数据,以为是串口调试助手占用了串口,可是把串口调试助手关了也是没反应。

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

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2015-12-13 22:12:21 | 显示全部楼层
你蓝牙的TX端有连接板子上的RX端吗?????
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2015-12-13 22:30:01 | 显示全部楼层
手机蓝牙串口助手发送的数据是否与电脑PC串口调试助手接收数据一样啊???
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-11-25
在线时间
7 小时
 楼主| 发表于 2015-12-13 23:23:48 | 显示全部楼层
回复【3楼】FantaSy_:
---------------------------------
RX——TX,TX——RX。不然PC端也不能接受到数据啊。手机发送的和PC端一致。
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2015-12-14 00:02:24 | 显示全部楼层
回复【4楼】微微一笑:
---------------------------------
既然数据是对的,那就是你MCU串口接收出问题啦!!!
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-11-25
在线时间
7 小时
 楼主| 发表于 2015-12-14 12:19:36 | 显示全部楼层
回复【5楼】FantaSy_:
---------------------------------
USART1_IRQHandler函数的问题?
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-11-25
在线时间
7 小时
 楼主| 发表于 2015-12-15 18:33:19 | 显示全部楼层
我用单片机尝试了一遍,还是遇到一模一样的问题。。。求救啊。
回复

使用道具 举报

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-11-26
在线时间
2 小时
发表于 2015-12-15 19:22:56 | 显示全部楼层
手机端发送的数据是不是以\r\n结尾的?
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-11-25
在线时间
7 小时
 楼主| 发表于 2015-12-15 22:32:16 | 显示全部楼层
回复【8楼】六子93:
---------------------------------
是啊。连上PC端串口调试助手,以16进制显示接收的数据为41 0D 0A
回复

使用道具 举报

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-11-26
在线时间
2 小时
发表于 2015-12-16 09:42:52 | 显示全部楼层
回复【9楼】微微一笑:
---------------------------------
同为菜鸟也不清楚怎么回事 你可以换一个手机蓝牙助手试试
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-11-25
在线时间
7 小时
 楼主| 发表于 2015-12-16 10:41:36 | 显示全部楼层
回复【10楼】六子93:
---------------------------------
好吧,谢谢。
回复

使用道具 举报

9

主题

126

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
226
金钱
226
注册时间
2014-4-3
在线时间
18 小时
发表于 2015-12-16 16:23:31 | 显示全部楼层
很简单,蓝牙发送接收短接,然后手机端蓝牙发送数据,看看有没有相同的数据返回,有代表蓝牙没问题。

接下来测试MCU,MCU发送接收短接,DEBUG调试一下,有没有接收到数据,也有。

那就是接错了,或者地没接。
回复

使用道具 举报

6

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2015-11-25
在线时间
7 小时
 楼主| 发表于 2015-12-16 16:48:52 | 显示全部楼层
回复【12楼】dixdsqaid:
---------------------------------
都有数据返回,但是我的蓝牙模块上面只有4个引脚,VCC,GND,RXD,TXD。VCC和GND都是接的板子上的VCC和GND。RXD接的板子上的TXD,TXD接的板子上的RXD,没理由接错的啊。
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2015-12-16 23:30:54 | 显示全部楼层
回复【13楼】微微一笑:
---------------------------------
那就不知道了。。。。。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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