微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 请问HCI_ReadBDADDRCmd()的用法

请问HCI_ReadBDADDRCmd()的用法

时间:10-02 整理:3721RD 点击:

各位好,

 

我看了这篇文章还是不太懂,http://www.deyisupport.com/question_answer/wireless_connectivity/f/45/t/22874.aspx

如果我只想要在按了按键后显示BD_ADDR,例如0x7C669D9E7055

要怎么实现呢?

 

先定义char *sting;

 

然后再到按键设定

 if ( keys & HAL_KEY_SW_6 )

  {

  string =  HCI_ReadBDADDRCmd();

  LCD_WRITE_STRING( string ,HAL_LCD_LINE_7 );

  }

 

但这种做法有Error,请问具体如何实现?

读自己的地址吗?simpleperipherial例子里面就有。

/*********************************************************************
* @fn bdAddr2Str
*
* @brief Convert Bluetooth address to string. Only needed when
* LCD display is used.
*
* @return none
*/
char *bdAddr2Str( uint8 *pAddr )
{
uint8 i;
char hex[] = "0123456789ABCDEF";
static char str[B_ADDR_STR_LEN];
char *pStr = str;

*pStr++ = '0';
*pStr++ = 'x';

// Start from end of addr
pAddr += B_ADDR_LEN;

for ( i = B_ADDR_LEN; i > 0; i-- )
{
*pStr++ = hex[*--pAddr >> 4];
*pStr++ = hex[*pAddr & 0x0F];
}

uint8 ownAddress[B_ADDR_LEN];

GAPRole_GetParameter(GAPROLE_BD_ADDR, ownAddress);

HalLcdWriteString( bdAddr2Str( ownAddress ),  HAL_LCD_LINE_7 );

谢谢TY回复

 

是的,是取自已的地址,请问在simpleBLECenter也是用GAPRole_GetParameter(GAPROLE_BD_ADDR, ownAddress); 吗?

 

因为我在simpleBLECenter使用的时候,先定义#define   GAPROLE_BD_ADDR    0x304

 

之后使用GAPRole_GetParameter(GAPROLE_BD_ADDR, ownAddress);

 

系统会显示GAPRole_GetParameter没定义

就参考simplecenter自己的做法,如下:

static uint8 simpleBLECentralEventCB( gapCentralRoleEvent_t *pEvent )
{
switch ( pEvent->gap.opcode )
{
case GAP_DEVICE_INIT_DONE_EVENT:
{
LCD_WRITE_STRING( "BLE Central", HAL_LCD_LINE_1 );
LCD_WRITE_STRING( bdAddr2Str( pEvent->initDone.devAddr ), HAL_LCD_LINE_2 );
}
break;

。。。。。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top