您的位置:首页 > 理论基础 > 计算机网络

函数---将十六位的网络地址转换为字符串类型

2013-03-26 18:52 267 查看
在做协调器与上位机进行通信时,往往我们想看到网络地址,这时调用NLME_GetShortAddr()就能得到,但是如果想显示出来就没那么容易了,需要用到下面这个函数,而调用方法是:trans_nwkaddr_to_uint8(NLME_GetShortAddr())。

void trans_nwkaddr_to_uint8(uint16 x)

{

//nwk_addr[4];

uint8 temp_nekaddr[2];

uint8* p_x;

uint8 c;

uint8 temp;

int nwk_addr_numb = 0;

uint8 temp_data[80];

p_x = temp_nekaddr;

temp_nekaddr[0] = HI_UINT16(NLME_GetShortAddr());

temp_nekaddr[1] = LO_UINT16(NLME_GetShortAddr());

for(int i=0;i<2;i++)

{

c = (*p_x>>4)& 0xf;

if (c > 9)

{

temp = ('A'+c-10);

temp_data[nwk_addr_numb++] = temp;

}

else

{

temp = ('0'+c);

temp_data[nwk_addr_numb++] = temp;

}

//LSDigit

c = *p_x & 0xf;

if (c > 9)

{

temp = ('A'+c-10);

temp_data[nwk_addr_numb++] = temp;

}

else

{

temp = ('0'+c);

temp_data[nwk_addr_numb++] = temp;

}

p_x++;

}

for(int i=0;i<4;i++)

nwk_addr[i] = temp_data[i];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐