蓝牙技术学习
直播中

石俊梅

7年用户 136经验值
私信 关注
[问答]

蓝牙串口HC05程序返回响应的数据长度怎么得出temp=13?

[C] 纯文本查看 复制代码
//获取ATK-HC05模块的角色//返回值:0,从机;1,主机;0XFF,获取失败.  u8 HC05_Get_Role(void){     u8 retry=0X0F;u8 temp,t;while(retry--){HC05_KEY=1;//KEY置高,进入AT模式delay_ms(10);u2_printf("AT+ROLE?rn");//查询角色for(t=0;t<20;t++) //最长等待200ms,来接收HC05模块的回应{delay_ms(10);if(USART2_RX_STA&0X8000)break;}HC05_KEY=0;//KEY拉低,退出AT模式if(USART2_RX_STA&0X8000)//接收到一次数据了{temp=USART2_RX_STA&0X7FFF;//得到数据长度USART2_RX_STA=0; if(temp==13&&USART2_RX_BUF[0]=='+')//接收到正确的应答了{temp=USART2_RX_BUF[6]-'0';//得到主从模式值break;}}}if(retry==0)temp=0XFF;//查询失败.return temp;}
发送查询模块的指令后,上面程序代码中返回响应的数据长度怎么得出temp=13?

回帖(4)

王荣

2019-3-4 08:41:42
楼主,你用串口助手,发送这个指令,然后看看返回值,就知道为什么是13了.
举报

凌流浪

2019-3-4 08:49:28
这个最好问你们的供应商,不同供应商设计的功能不同。
举报

张飞雄

2019-3-4 08:59:52
谢谢,这个是原子哥的蓝牙串口代码,我只是想知道它是怎么得出这个数据来的。
举报

胡小娟

2019-3-4 09:14:41
回复【4楼】发烧友:
根据不同的模式返回1.或者0
举报

更多回帖

发帖
×
20
完善资料,
赚取积分