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

看板C_and_CPP (C/C++)作者 (挖屁康)時間10年前 (2016/02/01 23:51), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
開發平台(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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.159.22.251 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1454341885.A.E02.html

02/02 16:06, , 1F
只是過mask而已,留下他想要的bit
02/02 16:06, 1F
文章代碼(AID): #1Mhtxzu2 (C_and_CPP)
文章代碼(AID): #1Mhtxzu2 (C_and_CPP)