[問題] 更改protocol和 &= 用法

作者: wopicoun (挖屁康)   2016-02-01 23:51:18
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
linux
nesc
tinyos
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
最近在寫tinyos,想要實驗自定義的mac-protocol
,所以更改zigbee的部份packet frame來更換成我新定義的,例如FCF欄位
參考tinyos對應版子(CC2420)上的lib,看到下面這段可能能幫助我更改欄位的程式碼
無奈資質愚鈍不太能理解,想請版友幫助
header->fcf &= ((1 << IEEE154_FCF_ACK_REQ) |
(0x3 << IEEE154_FCF_SRC_ADDR_MODE) |
(0x3 << IEEE154_FCF_DEST_ADDR_MODE));
請問這段程式碼若撇開參數,是代表做了什麼?
&= 這運算子,和它後面移位的目的我看不懂..
完整程式碼在這 https://goo.gl/gXXAZ6
另外最重要的是想請問一下,tinyos真的有辦法去更換zigbee協定的frame嗎?
基本上我是想能在傳每一個封包前我都能更改FCF的值,來讓其他節點知道這封包的功能
感謝各位
*[m
作者: clarkman (涼雨)   2016-02-02 16:06:00
只是過mask而已,留下他想要的bit

Links booklink

Contact Us: admin [ a t ] ucptt.com