有时需要通过主机设备(MCU非手机)获取从设备的广播信息例如广播包,MAC地址,扫描应答包等

以下的程序片段及功能实现是在WCH的CH59X的observer例程上实现的;

1、获取广播包

所有的函数在库函数中都可以找到,具体实现函数如下:

 case GAP_DEVICE_INFO_EVENT:
{
ObserverAddDeviceInfo(pEvent->deviceInfo.addr, pEvent->deviceInfo.addrType);
//获取广播信息
advtype_flag = pEvent->deviceInfo.eventType;
// PRINT("广播类型:%d\n",advtype_flag);
if(advtype_flag == 0)
{
len=pEvent->deviceInfo.dataLen;
// PRINT("广播数据:");
for(uint8_t i=0 ;i<len;i++)
{
advdata[i]= pEvent->deviceInfo.pEvtData[i];
//PRINT("%02x",advdata[i]);
PRINT("%c",advdata[i]);
}
PRINT("\n");
}
}
break;

这里的判断(if(advtype_flag == 0))是对广播类型的筛选,有几种不同的广播类型;这里筛选了第一种普通广播:

2、MAC地址

            if(pEvent->discCmpl.numDevs > 0)
{
int i, j;
// Increment index of current result (with wraparound)
for(j = 0; j < pEvent->discCmpl.numDevs; j++)
{
PRINT("Device %d : ", j);
for(i = 0; i < 6; i++)
{
PRINT("%x ", pEvent->discCmpl.pDevList[j].addr[i]);
}
PRINT("\n");
}
}

个人学习分享;如有问题请指正

转载请保留出处;

CH57x/CH58x/CH59x获取从机广播信息的更多相关文章

  1. C#获取本机磁盘信息

    照着书敲的.留作笔记吧. using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...

  2. python学习之最简单的获取本机ip信息的小程序

    文章是从我的个人博客粘贴过来的,大家可以直接访问我的个人博客哦 http://www.iwangzheng.com 获取本机ip信息的命令ifconfig总是在用,这次拿到pyhton代码里,感觉py ...

  3. Qt5获取本机网络信息

    获取本机网络信息 在pro文件中加入如下代码 QT += network widget.h中的代码如下 #ifndef WIDGET_H #define WIDGET_H #include <Q ...

  4. Qt网络获取本机网络信息

    下面我们就讲解如何获取自己电脑的IP地址以及其他网络信息.这一节中,我们会涉及到网络模块(QtNetwork Module)中的QHostInfo ,QHostAddress ,QNetworkInt ...

  5. Linux中获取本机网络信息的几个函数及应用

    一.读取/etc/hosts 几个函数 头文件<netdb.h> 1.void sethostent(int stayopen);//开打/etc/hosts 配置文件 2.struct ...

  6. Qt-网络与通信-获取本机网络信息

    在网络应用中,经常需要获取本机主机名和IP地址和硬件地址等信息.运用QHostInfo.QNetworkInterface.QNetworkAddressEntry可以获得本机的网络信息. 上运行截图 ...

  7. Qt - 获取本机网络信息

    目的: 获取本机的主机名.IP地址.硬件地址等网络信息. 工具: 使用Qt提供的网络模块QtNetwork(pro文件里面加network): 使用Qt提供的类QHostInfo.QNetworkIn ...

  8. Qt之获取本机网络信息(MAC, IP等等,很全)

    经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的“开始键+R键”,然后在弹出的对话框中输入“CMD”,回车 另外,还可以依次点击 开始>所有程序>附件>命令提示符 2 ...

  9. Qt之获取本机网络信息(超详细)

    经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的“开始键+R键”,然后在弹出的对话框中输入“CMD”,回车 另外,还可以依次点击 开始>所有程序>附件>命令提示符 2 ...

  10. qt获取本机网络信息

    networkinformation.h #include<QtGui/QWidget> #include<QLabel> #include<QPushButton> ...

随机推荐

  1. 高云SOC芯片GW1NSR-LV4CQN48的ARM总线

    高云SOC芯片GW1NSR-LV4CQN48的ARM总线 国产GOWIN高云出的一款芯片是GW1NSR-LV4CQN48PC7/I6,QN48封装,资源是4608,有10个18K BRAM,以及2个P ...

  2. 痞子衡嵌入式:在i.MXRT1xxx系列上用NAND型启动设备时可用两级设计缩短启动时间

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在i.MXRT1xxx系列上用NAND型启动设备时可用两级设计缩短启动时间. 去年痞子衡写过一篇骚操作文章 <借助i.MXRT10 ...

  3. POJ4151:电影节

    4151:电影节 总时间限制:  1000ms 内存限制:  65536kB 描述 大学生电影节在北大举办! 这天,在北大各地放了多部电影,给定每部电影的放映时间区间,区间重叠的电影不可能同时看(端点 ...

  4. 一种命令行解析的新思路(Go 语言描述)

    ​简介: 本文通过打破大家对命令行的固有印象,对命令行的概念解构后重新梳理,开发出一种功能强大但使用极为简单的命令行解析方法.这种方法支持任意多的子命令,支持可选和必选参数,对可选参数可提供默认值,支 ...

  5. Spark 大数据处理最佳实践

    开源大数据社区 & 阿里云 EMR 系列直播 第十一期 主题:Spark 大数据处理最佳实践 讲师:简锋,阿里云 EMR 数据开发平台 负责人 内容框架: 大数据概览 如何摆脱技术小白 Spa ...

  6. [FAQ] 对于 Puppeteer 和 Chromium 在 Linux 上的安装,需要安装哪些依赖库

      比如 puppeteer/chrome/linux-114.0.5735.133/chrome-linux64/chrome 到底要装哪些依赖. 一般根据报错提示,安装缺少的即可,以下是一般需要的 ...

  7. [Go] golang 替换组件包 更新 go.mod, go.sum 的方式

    当我们不再使用某个包,或者包名变更时,是如何保证 go.mod 更新的. 只要代码中没有地方 import 使用到某个包了,我们运行: $ go mod tidy module 管理器会帮我们自动清理 ...

  8. 鸿蒙HarmonyOS实战-ArkUI事件(触屏事件)

    前言 触屏事件是指通过触摸屏幕来进行操作和交互的事件.常见的触屏事件包括点击(tap).双击(double tap).长按(long press).滑动(swipe).拖动(drag)等.触屏事件通常 ...

  9. IPD、CMMI、敏捷

    华为公司早在2009年正式发文在全公司现在流程IPD.CMMI的基础上,所有产品线的软件开发团队全面推行敏捷开发.除了华为之外,不仅是互联网企业,现在凡是涉及到软件开发的企业对敏捷都不陌生,那么IPD ...

  10. python 操作xls

    目录 写入文件 demo01 demo02 写入文件 demo01 # 读取:xlrd # 写入:xlwt # 修改(追加写入):xlutils import xlrd import xlwt fro ...