cc2530學習筆記

case KEY_CHANGE://按鍵事件

case AF_INCOMING_MSG_CMD://接收數據事件,調用函數AF_DataRequest()接收數據

case ZDO_STATE_CHANGE:
//只要網絡狀態發生改變,就通過ZDO_STATE_CHANGE事件通知所有的任務。
//同時完成對協調器,路由器,終端的設置

SAMPLEAPP_SEND_PERIODIC_MSG_EVT, //周期性事件處理函數
SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT ); //每5s處理一次

?

case SAMPLEAPP_PERIODIC_CLUSTERID: //收到廣播數據
case SAMPLEAPP_FLASH_CLUSTERID: //收到組播數據


//接收數據,參數為接收到的數據
void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )

//分析發送周期信息
void SampleApp_SendPeriodicMessage( void )


/接收屬于本應用任務SampleApp的消息,以SampleApp_TaskID標記
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID );

消息結構體:
typedef struct
{
osal_event_hdr_t hdr; /* OSAL Message header */
uint16 groupId; /* Message's group ID - 0 if not set */
uint16 clusterId; /* Message's cluster ID */
afAddrType_t srcAddr; /* Source Address, if endpoint is STUBAPS_INTER_PAN_EP,
it's an InterPAN message */
uint16 macDestAddr; /* MAC header destination short address */
uint8 endPoint; /* destination endpoint */
uint8 wasBroadcast; /* TRUE if network destination was a broadcast address */
uint8 LinkQuality; /* The link quality of the received data frame */
uint8 correlation; /* The raw correlation value of the received data frame */
int8 rssi; /* The received RF power in units dBm */
uint8 SecurityUse; /* deprecated */
uint32 timestamp; /* receipt timestamp from MAC */
uint8 nwkSeqNum; /* network header frame sequence number */
afMSGCommandFormat_t cmd; /* Application Data */
} afIncomingMSGPacket_t;

typedef struct
{
uint8 TransSeqNumber;
uint16 DataLength; // Number of bytes in TransData
uint8 *Data;
} afMSGCommandFormat_t;


event+簇id+消息內容+內容大小
MSGpkt->hdr.event + MSGpkt->clusterId + MSGpkt->cmd.Data + MSGpkt->cmd.DataLength


uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events )觸發接收或者發送

開始消息----》判斷事件AF_INCOMING_MSG_CMD----》處理函數----》SAMPLEAPP_PERIODIC_CLUSTERID簇ID

?

?

?

typedef enum
{
afAddrNotPresent = AddrNotPresent,
afAddr16Bit = Addr16Bit, //點播方式
afAddr64Bit = Addr64Bit,
afAddrGroup = AddrGroup, //組播方式
afAddrBroadcast = AddrBroadcast //廣播方式
} afAddrMode_t;

typedef struct
{
union
{
uint16 shortAddr; //短地址
ZLongAddr_t extAddr; //IEEE地址
} addr;
afAddrMode_t addrMode; //傳送模式
uint8 endPoint; //端點號
uint16 panId; // used for the INTER_PAN feature
} afAddrType_t;

afAddrType_t SampleApp_Periodic_DstAddr; //廣播
afAddrType_t SampleApp_Flash_DstAddr; //組播
afAddrType_t SampleApp_P2P_DstAddr; //點播


SampleApp_Periodic_DstAddr.addrMode = (afAddrMode_t)AddrBroadcast;//廣播
SampleApp_Periodic_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
SampleApp_Periodic_DstAddr.addr.shortAddr = 0xFFFF; //廣播地址

// Setup for the flash command's destination address - Group 1
SampleApp_Flash_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;//組播
SampleApp_Flash_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
SampleApp_Flash_DstAddr.addr.shortAddr = SAMPLEAPP_FLASH_GROUP;

SampleApp_P2P_DstAddr.addrMode = (afAddrMode_t)Addr16Bit; //點播
SampleApp_P2P_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
SampleApp_P2P_DstAddr.addr.shortAddr = 0x0000; //發給協調器 地址為0

轉載于:https://www.cnblogs.com/yihujiu/p/6020756.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/285652.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285652.shtml
英文地址,請注明出處:http://en.pswp.cn/news/285652.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【天工Godwork精品教程】任務三:刺像控點、空三平差、精度優化調整

無人機航測精品專欄鏈接:《無人機航空攝影測量精品教程》 【天工Godwork精品教程】任務一:創建工程(導入相片、編輯相機參數、導入POS) 【天工Godwork精品教程】任務二:導入控制點、POS權重設置、自由空三 【天工Godwork精品教程】任務三:刺像控點、空三平差、精度優化調…

.NET in China - What's New in .NET

點擊藍字關注我們編輯:Alan Wang排版:Rani Sun活動介紹去年11月,.NET 6 的發布,為我們帶來了 .NET 多平臺應用 UI(.NET MAUI)。就在前不久,.NET MAUI 已正式發布。未來,作為 .NET 7 …

Android之網絡請求提示Cleartext HTTP traffic to dev*******.com not permitted

1、問題 請求服務端網絡錯誤提示錯誤如下 Cleartext HTTP traffic to dev*******.com not permitted2、解決辦法 Android9.0 默認是禁止所有的http,AndroidManifest.xml添加如下 android:usesCleartextTraffic="true"同時在res目錄新建文件夾xml,放入network_se…

[轉].NET 開源項目 Anet 介紹

使用 Anet 有一段時間了,已經在我的個人網站(如 bookist.cc)投入使用,目前沒有發現什么大問題,所以才敢寫篇文章向大家介紹。 GitHub 地址: https://github.com/anet-team/anet Anet 是一個 .NET Core 通用…

【天工Godwork精品教程】任務四:EOS正射影像DOM生成,DOM精編

無人機航測精品專欄鏈接:《無人機航空攝影測量精品教程》 【天工Godwork精品教程】任務一:創建工程(導入相片、編輯相機參數、導入POS) 【天工Godwork精品教程】任務二:導入控制點、POS權重設置、自由空三 【天工Godwork精品教程】任務三:刺像控點、空三平差、精度優化調…

強烈推薦國內幾款優秀的開源電商系統

一、背景需求 我玩得好的朋友剛創業,搞電商最一塊,想做個全套的電商框架系統,希望支持公眾號、小程序、H5、pc后臺管理等功能,創業初期資金非常緊張,請開發人員做成本太高,然后就咨詢我,有沒有最…

Maui的學習之路(二)--設置

Maui的學習之路(二) -- 設置上一篇我們做了Maui的基本介紹,理論上這一篇應該會創建第一個Maui的應用,以便對此進行詳細的評估,并逐步深入。如果你需要進行Maui首個應用的創建,那么歡迎訪問.NET MAUI 創建移…

今天,Java編程周末提高班(第一期)正式結束

Java編程周末提高班(第一期),走過了近兩個月歷程,一共同擁有68人次學生周末到老師家進行Java學習與交流。近距離的和一群年輕的學習接觸,收獲非常多,特別是對以后教學的改進。在學習的閑暇。大家自己做飯&a…

基本反射了解

1 package cn.wh;2 /**3 * java.lang.Class4 * author 王恒5 * time 2016年11月2日 上午10:39:256 */7 public class RedlectTest {8 public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {9 …

【PhotoScan精品教程】任務四:PhotoScan做空三+CC生成正射、三維建模綜合案例

《無人機航空攝影測量精品教程》合集目錄(Pix4d、CC、EPS、PhotoScan、Inpho、GodWork) 【PhotoScan精品教程】任務一:新建工程、導入照片、設置坐標系、導入控制點(POS)、自由空三 【PhotoScan精品教程】任務二:刺像控點,平差,質量報告精度檢查,像控點POS權重調配 【…

[轉]讓.NET應用秒變微服務

隨著近年來微服務的發展,許多團隊開始將自己的單體應用改造為微服務。通常Java或Go的應用可以通過業界已有的微服務框架作為微服務開發和改造的底座,封裝掉解決跨網絡問題帶來的復雜性。但以Chassis模式進行的微服務改造有兩大問題:多語言框架…

C語言九十三之輸入一個字符x,找到輸入的那句話(字符串)里面一樣字母的位置。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 輸入一個字…

WPF 使用 MAUI 的自繪制邏輯

這是一個當前還沒開發完成的功能,準確來說連預覽版也算不上的功能。我原本以為 MAUI 是無法在 WPF 上面跑的,然而在看完了 MAUI 整個大的設計,才了解到,原來 MAUI 是一個非常龐大的開發項目。在 MAUI 里面,雖然現在是正…

[轉]redis 5.0.5 5分鐘搭建redis集群

環境:centos 7 1:下載并安裝redis ???????$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz$ tar xzf redis-5.0.5.tar.gz$ cd redis-5.0.5$ make redis 5.0版本 集群搭建不需要我們安裝ruby就可以搭建成功,并且redis…

【土地評價與土地管理】案例:某地區柑橘種植適宜性評價

文章目錄 一、確定評價單元二、評價因子選擇三、評價因子權重的確定四、構建評價分級標準五、綜合評價六、適宜性等級劃分七、得出適宜性評價結果柑橘種植所需的自然條件: 柑橘果樹生長發育、開花結果與溫度、日照、水分(濕度)、土壤以及風、海拔、地形和坡向等環境條件緊密相…

django中怎樣生成非HTML格式的內容。

某些時候可能有這種需求。在網頁中點擊一個鏈接或者一個button希望返回一張圖片、一個pdf文檔、一個csv文檔等而非HTML。在diango中非常easy做到這些。django中的view用來接收http request并返回web response。通常情況下,返回的內容為HTML,但其可以返回…

Window.document對象

一、找到元素: docunment.getElementById("id");根據id找,最多找一個; var a docunment.getElementById("id");將找到的元素放在變量中; docunment.getElementsByName("name")&am…

C# 讀寫文件從用戶態切到內核態,到底是個什么流程?

一:背景 1. 一個很好奇的問題我們在學習 C# 的過程中,總會聽到一個詞叫做 內核態 ,比如說用 C# 讀寫文件,會涉及到代碼從 用戶態 到 內核態 的切換,用 HttpClient 獲取遠端的數據,也會涉及到 用戶態 到 內核…

C語言九十四之請編寫函數fun(char *str, int n),其功能是:使字符串str的前導*號不能多余n個,若多于n個,則刪除多余的*號,若少于或等于n個,則不做處理。

??個人主頁:個人主頁 ??系列專欄:C語言試題200例目錄 ??推薦一款刷算法、筆試、面經、拿大公司offer神器 ?? 點擊跳轉進入網站 ?作者簡介:大家好,我是碼莎拉蒂,CSDN博客專家(全站排名Top 50),阿里云博客專家、51CTO博客專家、華為云享專家 1、題目 規定輸入的…

【土地評價與土地管理】案例:某地區土地農業利用潛力評價

文章目錄 一、確定評價單元二、擬定潛力評價系統表、確定指標權重三、指標評價四、評定潛力等級五、得出潛力評價結果一、確定評價單元 土地潛力評價單元采用地塊作為評價單元,此地塊是建立在土地利用現狀的基礎上, 綜合土地的自然屬性來確定,評價單元界線與土地現有界線基本…