程序中用到的部分代码如下:
/*invariable*/
unsigned char Comm_ok_flag;/*主从机连接OK标志*/
unsigned char DR1_flag;/*DR1为高标志*/
unsigned char Nrf_on_flag;/*2401开关标志*/
unsigned char Shake_hand_flag;//握手成功标志
unsigned char Config_word[W_CFGWORD];/*存储配置字15字节*/
unsigned char Shock_word[W_SHOCKWORD];/*存储一帧协议数据30字节*/
unsigned char Rxdata_buffer[W_PAYLOAD];/*存储接收数据按协议26字节*/
unsigned char Txdata_buffer[N_DATA];/*存储发送数据暂定10字节*/
unsigned char Order;/*提取数据帧功能码*/
unsigned char Frq_set_value;/*频道设置数据*/
/*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);
考虑到点对多点通信的可靠性,数据在底层无线传输中需要增加必要的协议规范。设计中对有效数据进行打包,格式为:前导码、地址、有效数据载荷、校验码。
3 结束语
基于MSP430和NRF2401的无线传感器网络节点设计在实验中表现出比较好的效果,可以实现监测区域内信号的采集传输与处理。但是由于射频芯片本身的原因,传输距离会受到障碍物的影响和设置频率而有变化,这些问题都有待更深入的研究。随着无线网络技术的成熟无线传感器网络的应用必将广泛深入环境监测、目标追踪、工业自动化等各领域。