完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
原子哥你好,我想问一下在蓝牙串口模块实验中
u8 HC05_Init(void){u8 retry=10,t; u8 temp=1;RCC->APB2ENR|=1<<4; //使能PORTC时钟 GPIOC->CRL&=0XFF00FFFF;//PC4,推挽输出C5,输入GPIOC->CRL|=0X00830000; GPIOC->ODR|=1<<5; //PC5上拉 USART2_Init(36,9600);//初始化串口2为:9600,波特率.while(retry--){HC05_KEY=1;//KEY置高,进入AT模式delay_ms(10);u2_printf("ATrn");//发送AT测试指令HC05_KEY=0;//KEY拉低,退出AT模式for(t=0;t<10;t++) //最长等待50ms,来接收HC05模块的回应{if(USART2_RX_STA&0X8000)break;delay_ms(5);}if(USART2_RX_STA&0X8000)//接收到一次数据了{temp=USART2_RX_STA&0X7FFF;//得到数据长度USART2_RX_STA=0; if(temp==4&&USART2_RX_BUF[0]=='O'&&USART2_RX_BUF[1]=='K'){temp=0;//接收到OK响应break;}} } if(retry==0)temp=0;//检测失败return temp; } 我如果想把HC05改为HC06可以吗?可以的话,怎么改?求教 |
|
相关推荐
12个回答
|
|
把.c和.h里所有的都改掉就可以,ctrl+f可以查找
|
|
|
|
你的意思是把HC05改成HC06吗?
|
|
|
|
这样恐怕没什么效果吧!
|
|
|
|
|
|
|
|
我用jtag调试,发现u2_printf("ATrn");//发送AT测试指令
if(USART2_RX_STA&0X8000)//接收到一次数据了 串口根本就接收不到数据?还有就是HC05和HC06的AT指令集不是一样的吗?不过就是HC06的指令集少而已?是不是这样?求大神指教? |
|
|
|
是不一样的 比如改串口通信的波特率 HC-06是“AT+BAUDx”,而HC-05是“AT+UART=<aram>,<aram2>,<aram3>” 所以你得对应着做些修改..
|
|
|
|
|
|
|
|
这个我有,我发现就是这句u2_printf("ATrn");串口2接收不到,也就是【if(USART2_RX_STA&0X8000)//接收到一次数据了】这个中USART2_RX_STA不能置位?
u8 HC06_Init(void) { u8 retry=10,t; u8 temp=1; RCC->APB2ENR|=1<<4; //使能PORTC时钟 GPIOC->CRL&=0XFF00FFFF;//PC4,推挽输出C5,输入 GPIOC->CRL|=0X00830000; GPIOC->ODR|=1<<5; //PC5上拉 USART2_Init(36,9600);//初始化串口2为:9600,波特率. while(retry--) { HC06_KEY=1;//KEY置高,进入AT模式 delay_ms(10); u2_printf("ATrn");//发送AT测试指令 HC06_KEY=0;//KEY拉低,退出AT模式 for(t=0;t<10;t++) //最长等待50ms,来接收HC05模块的回应 { if(USART2_RX_STA&0X8000)break; delay_ms(5); } if(USART2_RX_STA&0X8000)//接收到一次数据了 { temp=USART2_RX_STA&0X7FFF;//得到数据长度 USART2_RX_STA=0; if(temp==4&&USART2_RX_BUF[0]=='O'&&USART2_RX_BUF[1]=='K') { temp=0;//接收到OK响应 break; } } } if(retry==0)temp=0;//检测失败 return temp; } 你感觉这段程序应该怎么办呢 |
|
|
|
测试指令是一样的,但HC-06的文档说OK是一秒左右发一次,你把
for(t=0;t<10;t++) //最长等待50ms,来接收HC05模块的回应{if(USART2_RX_STA&0X8000)break;delay_ms(5);} 这个的delay_ms(5);改成delay_ms(200);试试 ,这样最长等待时间就变成2s了 |
|
|
|
|
|
|
|
没,没玩过HC-06....
|
|
|
|
好吧!非常感谢你花了那么多时间帮我
|
|
|
|
只有小组成员才能发言,加入小组>>
362浏览 1评论
482浏览 1评论
602浏览 1评论
用PSOC6 BLE当外围设备,两者传输数据时,psoc6概率性出现蓝牙挂死的原因?
491浏览 1评论
是否有办法通过CYW20835板的固件发送BLE HCI命令?
467浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 02:07 , Processed in 0.808546 second(s), Total 69, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号