完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
linelen = get_line(linebuff,redata+getlen+2*linenum,len);这句语句linenum为什么要*2
/** * @brief 扫描周边的蓝牙设备,并存储到设备列表中。 * @param bltDev ,蓝牙设备列表指针 * @retval 是否扫描到设备,0表示扫描到,非0表示没有扫描到 */ uint8_t parseBluetoothAddress(BLTDev *bltDev) { /* Address should look like "+ADDR: * where actual address will look like "1234:56:abcdef". */ char* redata; uint16_t len; char linebuff[50]; uint16_t linelen; uint16_t getlen=0; uint8_t linenum=0; uint8_t i; char *p; HC05_Send_CMD("AT+INQrn",0); redata =get_rebuff(&len); if(redata[0] != 0 && strstr(redata, "+INQ:") != 0) { HC05_DEBUG("rebuf =%s",redata); getNewLine: while(getlen < len-2*linenum ) { linelen = get_line(linebuff,redata+getlen+2*linenum,len); if(linelen>50 && linelen != 0) { HC05_Send_CMD("AT+INQCrn",1);//退出前中断查询 return 1; } getlen += linelen; linenum++; p = skipPrefix(linebuff,linelen,"+INQ:"); if(p!=0) { uint8_t num ; num = bltDev->num; strBLTAddr(bltDev,':'); for(i=0;i<=num;i++) { if(strstr(linebuff,bltDev->unpraseAddr) != NULL) { goto getNewLine; //!=null时,表示该地址与解码语句的地址相同 } } /*若蓝牙设备不在列表中,对地址进行解码*/ bltDev->addr[num].NAP = htoul(p); p = strchr(p,':'); if (p == 0) { HC05_Send_CMD("AT+INQCrn",1);//退出前中断查询 return 1; } bltDev->addr[num].UAP = htoul(++p); p = strchr(p,':'); if (p == 0) { HC05_Send_CMD("AT+INQCrn",1);//退出前中断查询 return 1; } bltDev->addr[num].LAP = htoul(++p); /*存储蓝牙地址(字符串形式)*/ sprintf(bltDev->unpraseAddr[num],"%X:%X:%X",bltDev->addr[num].NAP,bltDev->addr[num].UAP,bltDev->addr[num].LAP); bltDev->num++; } } clean_rebuff(); HC05_Send_CMD("AT+INQCrn",1);//退出前中断查询 return 0; } else { clean_rebuff(); HC05_Send_CMD("AT+INQCrn",1);//退出前中断查询 return 1; } } |
|
相关推荐
1个回答
|
|
跟踪进去看代码,结合实际效果分析。
|
|
|
|
只有小组成员才能发言,加入小组>>
330浏览 1评论
447浏览 1评论
577浏览 1评论
用PSOC6 BLE当外围设备,两者传输数据时,psoc6概率性出现蓝牙挂死的原因?
460浏览 1评论
是否有办法通过CYW20835板的固件发送BLE HCI命令?
431浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 16:22 , Processed in 0.691583 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号