蓝牙利用协议栈API读取设备MAC地址

最近在移植QQ物联协议,需要读取设备mac地址。

读取CC2541设备MAC地址的方法,有直接读取mac寄存器,也可以调用协议栈API。这里采用的是调用API的形式。

1   /*利用协议栈API读取MAC地址*/
2     static uint8 macaddr[B_ADDR_LEN]={0}; //   mac 地址
3     uint8_t macstr[13] = {0};
4
5     GAPRole_GetParameter(GAPROLE_BD_ADDR, macaddr);
6     sprintf((char*)macstr, "%02X%02X%02X%02X%02X%02X", macaddr[0], macaddr[1], macaddr[2],
7        macaddr[3], macaddr[4], macaddr[5]);
8     memcpy(zone, macstr, 12);

核心内容是API: GAPRole_GetParameter

这个API可以参考CC2541 Software developer‘s guide的第102页,大家可以自己在IAR里面找到这个function的定义,GAPROLE_BD_ADDR则是一个表示蓝牙设备mac地址的type。

				
时间: 2024-10-26 15:56:31

蓝牙利用协议栈API读取设备MAC地址的相关文章

Linux下读取默认MAC地址

Linux下读取默认MAC地址 导读 MAC(Media Access Control,介质访问控制)计算机通过它来定义并识别网络设备的位置.在嵌入式linux学习中不可避免也会遇到MAC,本文主要描述了如何通过操作OTP来读取嵌入式linux设备网卡中的MAC地址! 一.适用范围 这里主要介绍读取网卡MAC地址的方法,适用于EasyARM-i.MX287A开发套件,其应用原理及配套示例也适用于下表1.1所列出的产品型号. 二.原理介绍 MAC(Media Access Control,介质访问

获取设备mac地址和md5加密

SGMSettingConfig.h #import <Foundation/Foundation.h> @interface SGMSettingConfig : NSObject{ NSInteger HTTP_PACKAGE_SIZE; NSInteger HTTP_RETRY_TIMES; NSInteger REPLY_LENGTH; NSInteger MAX_AUDIO_TIME; NSInteger MAX_RESULT_AMOUNT; BOOL USE_DENOISE_AGC

CAN网络上新增加的设备与网络上已有设备MAC地址冲突的软件解决方案

? 已知 1号的CAN节点的地址是0x1f 2号的CAN 节点的地址是0x1f ? ? ? ? ? ? ? ? 要达到的要求是 假设 网络上 CAN1 节点已经工作了,我现在需要在网络上接入CAN2节点. 那么CAN2节点首次上电的时候 需要给网络上的其他CAN节点 发送 数据帧(数据帧叫检测ID号帧) ,该数据帧 要求 (网络上与CAN2 节点的物理MAC地址 相同的CAN节点) 发送 响应帧 (该响应帧 是 刚上电的CAN2节点,发送给网络上其他节点的响应帧 ,由其他节点处理以后的应答帧)

C#如何获得设备Mac地址

public string GetMacAddress() { try { //获取网卡硬件地址 string mac = ""; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) {

让BLE设备的名称包含MAC地址

对于研发和测试BLE来说,经常看到同名的设备,是极为不方便的,一大堆设备同时上电会让同事不知道哪一个设备才是自己真正想操作的目标.再说一下小米手环,家中有三支小米手环,打开设备搜索全是“MI”,都不知道连接哪一个,所以在开始使用的时候才要求用户去敲手环几下,当然这个体验也还算不错.但不管怎样,作为开发者,面对Office里一大堆的BLE设备,能够方便区分还是不错的.因此萌生让设备名称包含一个唯一的标识——MAC地址. 第一步先说如何更改设备名称 BLE中要更改名称是极为方便的,只需要更改扫描应答

RK3288以太网的mac地址调试笔记【学习笔记】【原创】

平台信息:内核:linux3.1.0系统:android/android6.0平台:RK3288 作者:庄泽彬(欢迎转载,请注明作者) 邮箱:[email protected] 说明:提供以太网mac地址烧录以及读写的方式 一.功能演示以及说明: 1.1在安卓的文件系统生成如下的设备节点:/sys/kernel/pax_ethernet/mac用于烧录以及读取以太网的mac地址.使用adb命令进行以太网mac地址的烧写以及读写.本质上在使用echo "aa:aa:aa:aa:aa:aa"

Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

原文:Android项目实战(三十四):蓝牙4.0 BLE 多设备连接 最近项目有个需求,手机设备连接多个蓝牙4.0 设备 并获取这些设备的数据. 查询了很多资料终于实现,现进行总结. -------------------------------------------------------------------------------------------------------------------------------------------------------------

Cisco交换机里IP和MAC地址互查找出对应端口

交换机:Cisco2960.Cisco G3560X 服务器:10.15.44.164 AC-*-2D-*-84-* PC:10.15.44.69 服务器44.164→port 2-Cisco2960-port1→G3560X-port5 通过IP地址查找这个IP在那台交换机的接口下 通过MAC.IP地址查询对应交换机端口 1.开始运行Nbtstat –a ip 查询出mac地址 或者直接到G3560X交换机上通过show arp查找mac地址 没发现对应关系是ARP信息超时了就被删除,ARP和

MAC地址记录与重复检测系统

一.通信模块如WiFi.Zigbee都会有唯一的MAC地址,这些模块在出厂前需要一套系统来确保唯一性. 此套MAC地址记录与重复检测系统已经经过KK级的出货验证,难有漏网之鱼. 二.系统设计思路: 客户端程序读取模块MAC地址,然后去pass数据库中寻找是否已经存在,如果不存在,则将此MAC存到pass数据库中,显示PASS,如果已经存在,证明已经生产过了,有重复,则将此MAC存到repeat数据库中. 三.系统实施步骤: 1,搭建一台windows2003服务器,外接交换机,通过网线与产线上几