找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4920|回復(fù): 0
收起左側(cè)

Zstack協(xié)議棧---地址查找功能--便于單播查詢目的地址

[復(fù)制鏈接]
ID:71477 發(fā)表于 2015-1-1 18:41 | 顯示全部樓層 |閱讀模式
APS層提供了一系列快速轉(zhuǎn)換地址(查詢)的功能。如果查詢已經(jīng)完成并保存在地
址管理器(參見網(wǎng)絡(luò)層)中,或者它是你自己的地址,這些函數(shù)能使你把短地址轉(zhuǎn)換為IEEE
地址(或把IEEE地址轉(zhuǎn)換為短地址)。
APSME_LookupExtAddr()  API函數(shù)
如果網(wǎng)絡(luò)(短)地址已經(jīng)存儲(chǔ)在地址管理器中,這個(gè)函數(shù)根據(jù)它查詢擴(kuò)展(IEEE
地址。它沒有啟動(dòng)一個(gè)網(wǎng)絡(luò)(無(wú)線)IEEE 查詢,只是從內(nèi)存記錄中查找
函數(shù)原型
uint8APSME_LookupExtAddr(uint16nwkAddr,uint8*extAddr);
參數(shù)描述
nwkAddr—這是你現(xiàn)有的地址,希望這個(gè)函數(shù)使用它來(lái)查詢擴(kuò)展地址。
extAddr—這是你想要找到的地址。這是一個(gè)指向內(nèi)存的指針,找到IEEE地址時(shí)
這個(gè)函數(shù)將把它復(fù)制到該內(nèi)存中。
返回值
找到返回true,找不到返回false
3.3.4.2APSME_LookupNwkAddr()
如果擴(kuò)展(IEEE)地址已經(jīng)存儲(chǔ)在地址管理器中,這個(gè)函數(shù)根據(jù)它查詢網(wǎng)絡(luò)(短)
地址。它沒有啟動(dòng)一個(gè)網(wǎng)絡(luò)(無(wú)線)IEEE查詢。
函數(shù)原型
uint8APSME_LookupNwkAddr(uint8*extAddr,uint16*nwkAddr);
參數(shù)描述
nwkAddr—這是你想要找的地址。這是一個(gè)指向內(nèi)存的指針,找到短地址時(shí)這個(gè)
函數(shù)將把它復(fù)制該內(nèi)存中。
extAddr—這是你現(xiàn)有的地址,希望這個(gè)函數(shù)使用它來(lái)查詢擴(kuò)展地址。這是一個(gè)
指向內(nèi)存的指針,找到IEEE 地址時(shí)這個(gè)函數(shù)將把它復(fù)制到該內(nèi)存中。
返回值
找到返回true,找不到返回false。
舉例:
通過(guò)登記的IEEE地址,查詢到設(shè)備入網(wǎng)的短地址,從而單播點(diǎn)對(duì)點(diǎn)發(fā)送數(shù)據(jù)。
廣播盡量少用。
afAddrType_t dstAddr;
switch (clusterID) //串口命令
  {
    case 0x0055:
  
if(APSME_LookupNwkAddr(Pwk,&Sadd)) //Pwk是IEEE地址的數(shù)組,通過(guò)IEEE查詢到短地址,用于確定單播發(fā)送的目的短地址
{
               dstAddr.addrMode = afAddr16Bit;          //
單播
        dstAddr.addr.shortAddr = Sadd;     //短地址
        dstAddr.endPoint = LOCATION_BLINDNODE_ENDPOINT; //目的設(shè)備類型   
                ShortAdd[0]=Sadd&0x00ff;
                ShortAdd[1]=Sadd>>8;
                HalUARTWrite( SPI_MGR_DEFAULT_PORT, ShortAdd, 2 );  //短地址發(fā)到串口
                HalUARTWrite( SPI_MGR_DEFAULT_PORT, "888888", 6 );

      }
    break;



回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表