使用的蓝牙芯片是CC2541, 本文章介绍修改蓝牙名称和蓝牙MAC地址的方法。

修改蓝牙名称:

在数组scanRspData[ ]里,存放的就是蓝牙名称,你可以自己设置。GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData );

修改蓝牙MAC地址:

蓝牙的MAC是全球唯一的,在Flash中有一块只读区域,从地址0x780E开始,蓝牙的MAC以小端方式存放在里面。

在TI的Peripheral例程里面,添加一个特征值,只读属性,6字节长度(蓝牙MAC长度为48-bit,6字节)。

读取蓝牙MAC地址时有一种非常简便的方法,就是直接去读寄存器里的MAC地址 ,

The Information Page is a 2-KB read-only region that stores various device information. Among other

things, it contains for IEEE 802.15.4 or Bluetooth low energy compliant devices a unique IEEE address
from the TI range of addresses. For CC253x, this is a 64-bit IEEE address stored with least-significant
byte first at XDATA address 0x780C. For CC2540/41, this is a 48-bit IEEE address stored with
least-significant byte first at XDATA address 0x780E

于是读出寄存器中的值,就可以得到MAC地址了 ,这里是只读空间。

  1. void ReadMac(unsigned char *TempMacAddress,int len)  // Len 一定是6
  2. {
  3. TempMacAddress[5]=XREG(0x780E); // 直接指向指针内容
  4. TempMacAddress[4]=XREG(0x780F);
  5. TempMacAddress[3]=XREG(0x7810);
  6. TempMacAddress[2]=XREG(0x7811);                // define 函数直接读出数据
  7. TempMacAddress[1]=XREG(0x7812);
  8. TempMacAddress[0]=XREG(0x7813);
  9. return ;
  10. }

顺便说一下XREG的定义

#define XREG(addr)       ((unsigned char volatile __xdata *) 0)[addr]

volatile 是为了在优化的时候值被改写,xdata是放在xdata空间中。

这句话是为了直接读出addr地址的内容!!!

议栈中也可以调用系统的API获取MAC地址

static uint8 MAC_Address[B_ADDR_LEN]={0}; //   mac 地址

GAPRole_GetParameter(GAPROLE_BD_ADDR, ownAddress);

osal_memcpy( MAC_Address,ownAddress,B_ADDR_LEN);

上面说的是安卓读取MAC的方法。

苹果手机无法在连接中获得MAC,苹果手机没有提供读取底层MAC的API,所以只能通过广播MAC的方式传给苹果手机。
但是将MAC放在广播中,同时也会导致数据的不安全。还有一种方法是把MAC地址放在广播数组里,发送出去。将MAC地址放在scanRspData(GAP - SCAN RSP data)数组里。

上面说的是读取BLE的MAC地址,要是修改的话,可以如下修改:

unsigned char DeviceMAC[6] = {0x88,0x88,0x88,0x88,0x88,0x88};
HCI_EXT_SetBDADDRCmd(DeviceMAC);

之后,蓝牙的mac地址就修改为88:88:88:88:88:88.

CC2541-修改蓝牙名称和mac地址相关推荐

  1. CC2541修改蓝牙名称为中文名称

    CC2541修改蓝牙名称为中文名称 CC2541的中文名称支持使用URL编码,可以使用URL编码转换器,如在百度搜索URL在线转换 例如输入我,点击URL编码,生成了%E6%88%91.我们这里使用三 ...

  2. mac地址修改_全球首款支持电脑名称和MAC地址修改的浏览器 VMLogin超级防关联指纹浏览器 同时支持模拟真人输入,支持自定义经纬度...

    VMLogin - 超级防关联指纹浏览器:用于亚马逊测评.FACEBOOK广告投放等多平台多账号批量注册多登防关联管理软件.用虚拟浏览器配置文件代替若干电脑,具有浏览器指纹防护功能,每个浏览器文件的C ...

  3. 修改手机WIFI的MAC地址,实现防止路由器拉黑

    *修改手机WIFI的MAC地址* *说明:* 1.手机可以连接WIFI但是没有网速 2.知道密码,但连接不上,一般都是因为路由器给你拉黑或者限速了. *那么路由器是如何知道是你连接了:判断如下:登录路 ...

  4. BES2300x笔记(6) -- 如何修改蓝牙名称

    哈喽大家好,这是该系列博文的第六篇~ 篇~ <<[系列博文索引]快速通道 >> 一.前言 有时,销售对接的客户需要送样,就想拿仓库现有的产品改下蓝牙名称,然后寄给客户,但咨询过 ...

  5. 修改USB无线网卡物理地址MAC地址的有效方法

    最近总是被人限制网速,所以要改mac地址.结果发现win10 64位并且是usb的无线网卡(其实就是我的yoga超极本),网卡参数里面竟然没有network address.并且手动改注册表也无效.折 ...

  6. php设置公网ip,修改公网IP和mac地址的建议方法分享

    最近本人需要用php写一个模拟程序,该程序需要不断变化公网IP地址,以及修改本机的mac地址. 经过一段时间的研究,我发现了解决之道.在这里将此方法和大家分享,我希望此方法在某时某地能. 对读者有所助 ...

  7. linux系统如何改电脑地址,如何修改电脑的操作系统MAC地址

    MAC地址在网卡中是固定的,每张网卡的MAC地址都不一样.网卡在制作过程中,厂家会在它的EPROM里面烧录上一组数字,这组数字,每张网卡都各不相同,这就是网卡的MAC(物理)地址.下面是学习啦小编跟大 ...

  8. 用CMD命令查看局域网电脑IP地址,电脑名称及MAC地址

    C:\Documents and Settings\Administrator>net view 服务器名称            注释 ---------------------------- ...

  9. android蓝牙获取mac地址,如何获得蓝牙连接设备的MAC地址在android中

    我在android中通过蓝牙发送图像,并且想要获取图像发送到的设备的MAC地址.如何获得蓝牙连接设备的MAC地址在android中 请在下面找到我的代码. private void bluetooth ...

最新文章

  1. PIE SDK打开静止卫星数据
  2. JAV A获取项目路径
  3. Eclipse 创建 Java 包
  4. 将下图的nfa确定化为dfa_作业8 非确定的自动机NFA确定化为DFA
  5. 查看ssh端口号_萌新云服务器折腾记-SSH配置
  6. matlab宏参赛,MATLAB杯无人机大赛 | 决赛通知!
  7. 00018_流程控制语句switch
  8. 6-2-JSP基本语法
  9. MDX Step by Step 读书笔记(四) - Working with Sets (使用集合)
  10. ubuntu下caffe 安装记录(含GPU)
  11. 利用Civil 3D API更改曲面的样式
  12. linux和emwin的区别,emWin“自带软件GUIBuilder的使用”
  13. 【转载】一个c程序在执行main函数之前和main之后都做了那些事情
  14. JTXQ、JTT部标模拟终端使用说明 --2 JTT808协议菜单
  15. 灵敏度 和 特异度的计算
  16. 看风水不如依照这些定律改造命运
  17. C语言编程练习:猜数游戏
  18. Pygame学习笔记 4 —— 时间与运动
  19. nacos的feign报错Error creating bean with name ‘configurationPropertiesBeans‘ defined in class path reso
  20. 平板终结者android,苹果终结者,4款高性能Android平板推荐

热门文章

  1. Linux开机 进入图形界面或命令行界面
  2. 《波斯王子·时之沙三部曲》剧情总结
  3. 你应该知道的 7 个最受欢迎的 Python 机器学习库
  4. 我的面试经历:day04
  5. 火山PC枚举文件和枚举目录
  6. 计算机控制电缆 规范,控制电缆和计算机电缆安全CQC认证要求变更的通知
  7. 教育知识与能力——简答题30题
  8. 19年电赛经验总结-应该如何准备电赛
  9. MATLAB_数字信号处理实验
  10. python数据可视化项目设计-中国人口