android关于蓝牙MAC地址唯一的问题

关于同型号的机器蓝牙不能互传文件,是因为BT的MAC地址都是一样的,而代码是否可以修改MAC地址不唯一!答案是可以的,首先考虑的是拿什么做为MAC地址,而且还不能一样,想来想去有一个办法可以去通过movnand的ID号,它的ID号都是唯一的。
 
1、 在drivers\mmc\core\mmc.c中可以加入如下代码来检验代码ID是否唯一
  1. #if 0        
  2. //如下代码适合inand id, 24bit-55bit
  3.     u32char[0] =((host->cid[2] >>16)& 0xff);
  4.     u32char[1]=((host->cid[2] >>8)& 0xff);
  5.     u32char[2]=((host->cid[2] >>0)& 0xff);    
  6.     u32char[3]=((host->cid[3] >>24)& 0xff);        
  7.     u32Sn=(u32char[0] <<24)|(u32char[1] <<16)|(u32char[2] <<8)|(u32char[3] <<0);    
  8.     printf("Serial Number : %02X %02X %02X %02X (= %08X )\n", u32char[0], u32char[1],u32char[2],u32char[3], u32Sn);
  9. #else
  10. //如下代码适合movi nand id, 16bit-47bit
  11.     u32char[0] =((host->cid[2] >>8)& 0xff);
  12.     u32char[1]=((host->cid[2] >>0)& 0xff);
  13.     u32char[2]=((host->cid[3] >>24)& 0xff);    
  14.     u32char[3]=((host->cid[3] >>16)& 0xff);        
  15.     u32Sn=(u32char[0] <<24)|(u32char[1] <<16)|(u32char[2] <<8)|(u32char[3] <<0);    
  16.     printf("Serial Number : %02X %02X %02X %02X (= %08X )\n", u32char[0], u32char[1],u32char[2],u32char[3], u32Sn);

  17. #endif
2、 确认好了设备ID唯一,现在如何写入BT的MAC地址中,答案很简单,首先设备系统文件里查看路径
/sys/devices/platform/s3c-sdhci.0/mmc_host/mmc0/mmc0:0001/cid里取出对应的bit是否和你上面的ID相同,如果相同就很好办了,在打开蓝牙的时候在系统里打开这个文件,直接seek定位读取相应的即可!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值