基于MSP430和NRF2401的WSN節(jié)點(diǎn)設(shè)計(jì)
程序中用到的部分代碼如下:
/*invariable*/
unsigned char Comm_ok_flag;/*主從機(jī)連接OK標(biāo)志*/
unsigned char DR1_flag;/*DR1為高標(biāo)志*/
unsigned char Nrf_on_flag;/*2401開關(guān)標(biāo)志*/
unsigned char Shake_hand_flag;//握手成功標(biāo)志
unsigned char Config_word[W_CFGWORD];/*存儲(chǔ)配置字15字節(jié)*/
unsigned char Shock_word[W_SHOCKWORD];/*存儲(chǔ)一幀協(xié)議數(shù)據(jù)30字節(jié)*/
unsigned char Rxdata_buffer[W_PAYLOAD];/*存儲(chǔ)接收數(shù)據(jù)按協(xié)議26字節(jié)*/
unsigned char Txdata_buffer[N_DATA];/*存儲(chǔ)發(fā)送數(shù)據(jù)暫定10字節(jié)*/
unsigned char Order;/*提取數(shù)據(jù)幀功能碼*/
unsigned char Frq_set_value;/*頻道設(shè)置數(shù)據(jù)*/
/*function*/
void Buildspiword(void);
void Spinrf2401(void);
void Shockburst(void);
void Receiveshock(void);
void Dospiclk(void);
void Nrf2401_on(void);
void Nrf2401_off(void);
void Set_config(void);
void Set_standby(void);
void Set_tx(void);
void Set_rx(void);
void Clr_Payload(void);
void Soft_delay_01ms(int iUs);
void Set_address(void);
void Clr_shock_word(void);
考慮到點(diǎn)對(duì)多點(diǎn)通信的可靠性,數(shù)據(jù)在底層無線傳輸中需要增加必要的協(xié)議規(guī)范。設(shè)計(jì)中對(duì)有效數(shù)據(jù)進(jìn)行打包,格式為:前導(dǎo)碼、地址、有效數(shù)據(jù)載荷、校驗(yàn)碼。本文引用地址:http://www.ex-cimer.com/article/163445.htm
3 結(jié)束語
基于MSP430和NRF2401的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)在實(shí)驗(yàn)中表現(xiàn)出比較好的效果,可以實(shí)現(xiàn)監(jiān)測(cè)區(qū)域內(nèi)信號(hào)的采集傳輸與處理。但是由于射頻芯片本身的原因,傳輸距離會(huì)受到障礙物的影響和設(shè)置頻率而有變化,這些問題都有待更深入的研究。隨著無線網(wǎng)絡(luò)技術(shù)的成熟無線傳感器網(wǎng)絡(luò)的應(yīng)用必將廣泛深入環(huán)境監(jiān)測(cè)、目標(biāo)追蹤、工業(yè)自動(dòng)化等各領(lǐng)域。
評(píng)論