完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
为什么我用手机可以连接上STM32上面的蓝牙模块,用手机发送命令的时候也有提示成功,但是stm32就是不执行我发送的命令,命令如下,都是蓝牙模块例程里面的,我改用串口3跟蓝牙连接,到底哪里有问题,哪里没问题
[C] 纯文本查看 复制代码 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 %drn",sendcnt); //LCD_ShowString(30+40,160,200,16,16,sendbuf);//显示发送数据u3_printf("ALIENTEK HC05 %drn",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;//打开LED1if(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; } } |
|
相关推荐
7个回答
|
|
估计是你串口配置的问题。
|
|
|
|
手机发送命令需要加入结束符的(0d0a)
|
|
|
|
我发送的是+LED1 ON和+LED1 OFF,直接烧例程是可以的,就是我改用串口3之后就不行,我的串口12都在用。。
|
|
|
|
先将收到的数据全部传回上位机,看是否通信问题
|
|
|
|
|
|
|
|
问题没解决,代码还是不能用,换了其他的串口
|
|
|
|
恩,应该是吧,很久没做了,有时间再去研究研究吧
|
|
|
|
只有小组成员才能发言,加入小组>>
325浏览 1评论
441浏览 1评论
570浏览 1评论
用PSOC6 BLE当外围设备,两者传输数据时,psoc6概率性出现蓝牙挂死的原因?
453浏览 1评论
是否有办法通过CYW20835板的固件发送BLE HCI命令?
424浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 08:57 , Processed in 0.944252 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号