OpenEdv-开源电子网

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

求助原子哥,为什么手机可以连接stm32的蓝牙,stm32却不执行命令

[复制链接]

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2013-8-28
在线时间
0 小时
发表于 2014-7-17 09:14:35 | 显示全部楼层 |阅读模式
5金钱
为什么我用手机可以连接上stm32上面的蓝牙模块,用手机发送命令的时候也有提示成功,但是stm32就是不执行我发送的命令,命令如下,都是蓝牙模块例程里面的,我改用串口3跟蓝牙连接,到底哪里有问题,哪里没问题
[mw_shl_code=c,true]void HC05_Play(void) { uint8_t key; uint8_t cnt_flag; uint8_t sendmask=0; uint8_t sendcnt=0; uint8_t sendbuf[20]; uint8_t reclen=0; key=KEY_Scan(); cnt_flag++; if(key==3) //切换模块主从设置 { key=HC05_Get_Role(); if(key!=0XFF) { key=!key; //状态取反 if(key==0)HC05_Set_Cmd("AT+ROLE=0"); else HC05_Set_Cmd("AT+ROLE=1"); // HC05_Role_Show(); HC05_Set_Cmd("AT+RESET"); //复位ATK-HC05模块 } }else if(key==1) { sendmask=!sendmask; //发送/停止发送 if(sendmask==0);//LCD_Fill(30+40,160,240,160+16,WHITE);//清除显示 }else delay_ms(10); if(cnt_flag==50) { if(sendmask) //定时发送 { sprintf((char*)sendbuf,"ALIENTEK HC05 %d\r\n",sendcnt); // LCD_ShowString(30+40,160,200,16,16,sendbuf); //显示发送数据 u3_printf("ALIENTEK HC05 %d\r\n",sendcnt); //发送到蓝牙模块 sendcnt++; if(sendcnt>99)sendcnt=0; } // HC05_Sta_Show(); cnt_flag=0; LED0=!LED0; } if(USART3_RX_STA&0X8000) //接收到一次数据了 { // LCD_Fill(30,200,240,320,WHITE); //清除显示 reclen=USART3_RX_STA&0X7FFF; //得到数据长度 USART3_RX_BUF[reclen]=0; //加入结束符 if(reclen==9||reclen==8) //控制DS1检测 { if(strcmp((const char*)USART3_RX_BUF,"+LED1 ON")==0)LED1=0; //打开LED1 if(strcmp((const char*)USART3_RX_BUF,"+LED1 OFF")==0)LED1=1;//关闭LED1 } // LCD_ShowString(30,200,209,119,16,USART2_RX_BUF);//显示接收到的数据 USART3_RX_STA=0; } }[/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

回复【6楼】lqf2060: --------------------------------- 估计是你串口配置的问题。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-7-17 09:14:36 | 显示全部楼层
回复【6楼】lqf2060:
---------------------------------
估计是你串口配置的问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

14

主题

490

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1229
金钱
1229
注册时间
2012-8-4
在线时间
248 小时
发表于 2014-7-17 12:44:46 | 显示全部楼层
手机发送命令需要加入结束符的(0d0a)
nrf51822蓝牙4.0手环开发板: 淘宝小店
回复

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2013-8-28
在线时间
0 小时
 楼主| 发表于 2014-7-17 17:11:34 | 显示全部楼层
回复【2楼】muniao:
---------------------------------
我发送的是+LED1 ON和+LED1 OFF,直接烧例程是可以的,就是我改用串口3之后就不行,我的串口12都在用。。
回复

使用道具 举报

14

主题

490

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1229
金钱
1229
注册时间
2012-8-4
在线时间
248 小时
发表于 2014-7-17 20:13:10 | 显示全部楼层
回复【3楼】lqf2060:
---------------------------------
先将收到的数据全部传回上位机,看是否通信问题
nrf51822蓝牙4.0手环开发板: 淘宝小店
回复

使用道具 举报

6

主题

92

帖子

0

精华

高级会员

Rank: 4

积分
577
金钱
577
注册时间
2014-10-6
在线时间
38 小时
发表于 2014-11-13 17:35:09 | 显示全部楼层
你的问题解决了吗?能看下你的代码吗?多谢了
creazylq@163.com
回复

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2013-8-28
在线时间
0 小时
 楼主| 发表于 2014-11-14 14:30:32 | 显示全部楼层
回复【5楼】鹅卵石的天空:
---------------------------------
问题没解决,代码还是不能用,换了其他的串口
回复

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2013-8-28
在线时间
0 小时
 楼主| 发表于 2014-11-15 01:06:25 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
恩,应该是吧,很久没做了,有时间再去研究研究吧
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-26 03:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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