題目:
實現基於basicrf無線點對點通訊的雙向燈光控制,具體要求如下:
1> 節點a 和節點b 的panid設定為0x1234,通道號設定為17,節點位址自定義。
<2> 按下節點a的sw1按鍵,鬆開後,向節點b傳送1個位元組的無線資料。節點b接收到新的無線資料後,判斷該資料如果為0xa2,則切換節點b中d4燈的開關狀態。
<3> 按下節點b的sw1按鍵,鬆開後,向節點a傳送1個位元組的無線資料。節點a接收到新的無線資料後,判斷該資料如果為0xa2,則切換節點a中d4燈的開關狀態。
注:<1> d4燈,連線到cc2530的p1_1引腳。
<2> sw1按鍵;連線到cc2530的p1_2引腳。
配置點對點無線通訊的基本引數
#define rf_channel 17 //頻道 11~26
#define pan_id 0x1234 //
網路id
配置節點資訊
//節點a的位址資訊
#define my_addr 0x000a //
本機模組位址
#define send_addr 0x000b //
傳送位址
//節點b的位址資訊
//#define my_addr 0x000b
//本機模組位址
//#define send_addr 0x000a
//傳送位址
變數定義與函式宣告
#define d4 p1_1#define sw1 p1_2unsigned
char cmd = 0xa2; //
無線傳送的命令字
unsigned char dat = 0; //
無線接收的資料
void init_port(); //
初始化d4燈與sw1按鍵
void delay(unsigned char t); //
普通延時函式
void scan_keys(); //
按鍵掃瞄處理函式
void recv_rf_data(); //
無線資料接收處理函式
埠初始化函式的實現
voidinit_port()
延時函式
void delay(unsigned chart)
按鍵掃瞄函式
voidscan_keys()
}}
無線資料接收處理函式的實現
voidrecv_rf_data()
}}
主函式的實現
void main(void)}
燈光控制問題
燈光師小明控制著各種晚會的各種大小燈,每次晚會小明都會對燈進行很多次操作。對每盞燈只能進行兩種操作,開和關。現在小明希望自己隨時都知道還有多少盞燈亮著。你需要編寫乙個程式當小明問你時你能快速的說出還有多少盞燈亮著。注意晚會開始時所有的燈都是滅的。只有一組資料.第一行輸入兩個正整數n,t 0每次查詢指...
Otter雙向回環控制
1 支援mysql oracle的異構資料庫的雙向回環,早期有 需求 杭州是mysql,美國是oracle,需要做雙向同步。2 需要支援級聯同步,比如ab c,a同步到b的資料,不能從b回到a,但需要同步到c 利用事務機制,在事務頭和尾中插入otter同步標識 解析時識別同步標識,判斷是否需要遮蔽同...
CC2530應用 按鍵控制燈光狀態變化
獨立新建工程並編寫 編譯 實現按鍵控制燈光閃爍狀態的變換,實現以下任務要求 程式開始執行 d4燈閃爍,d3 d5 d6燈熄滅。按下模組上的sw1按鍵鬆開後,實現d5 d6燈輪流閃爍。再次按下sw1按鍵,d5 d6燈滅。重複上述兩個步驟。此題需要定義乙個燈光狀態的標誌位。通過按鍵的標誌位有三個狀態。狀...