TI论坛
直播中

张硕

7年用户 409经验值
私信 关注
[问答]

CC2540的MAC地址问题

请问怎样获取CC2540本身的MAC地址?

回帖(8)

华农武

2018-6-24 07:13:30
用flash programmer可以读出来.
当然, 代码里面用HCI_ReadBDADDRCmd()也可以读出来.
举报

张硕

2018-6-24 07:22:06
引用: 骑猪去天山 发表于 2018-6-24 07:13
用flash programmer可以读出来.
当然, 代码里面用HCI_ReadBDADDRCmd()也可以读出来.

我用HCI_ReadBDADDRCmd()读出来的返回值只有一个字节,CC2540的MAC地址有6个字节,请问能否提供一下完整的代码?
举报

华农武

2018-6-24 07:36:19
引用: 技术发广告 发表于 2018-6-24 07:22
我用HCI_ReadBDADDRCmd()读出来的返回值只有一个字节,CC2540的MAC地址有6个字节,请问能否提供一下完整的代码?

你会收到一个 HCI_COMMAND_COMPLETE_EVENT_CODE 事件.
举例, 假如你用的是simpleBLEPeripheral工程, 到peripheral.c 中, 找到 static void gapRole_ProcessOSALMsg( osal_event_hdr_t *pMsg )
其中 
case HCI_GAP_EVENT_EVENT:
if ( pMsg->status == HCI_COMMAND_COMPLETE_EVENT_CODE )
加个判断:
if ( pPkt->cmdOpcode == HCI_READ_BDADDR )
然后 pPkt  里面应该就有地址了.
举报

李捷

2018-6-24 07:45:13
引用: 骑猪去天山 发表于 2018-6-24 07:36
你会收到一个 HCI_COMMAND_COMPLETE_EVENT_CODE 事件.
举例, 假如你用的是simpleBLEPeripheral工程, 到peripheral.c 中, 找到 static void gapRole_ProcessOSALMsg( osal_event_hdr_t *pMsg )
其中 

You can find the MAC address at address 0x780E-0x7813.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分