STM32W108无线射频模块多节点之间通信实例
基于STM32W108的SimpleMac协议栈编写程序,实现多个无线节点之间的通信。节点分为SUN节点和PLANET节点,SUN节点使用STM32W108无线开发板,PLANET节点使用STM32W108无线数据采集节点,SUN节点可与PC机进行通信。
编程与实现
程序的设计基于SimpleMac协议栈进行,以下给出部分主要相关代码。该实例中的部分代码与第11章中的两节点通信实例代码相同,本章不再重复说明。
文件solar-system.c部分内容:
部分变量全局变量定义:
//负载类型定义 #define PT_SLEEPING (0x08) #define PT_LED (0x09) #define PT_TRSEND (0x0A)
//数据包类型定义 #define SYN_SLEEPING_WAITTIME ((FT_DATA <<4) | (PT_SLEEPING <<0)) #define SYN_LED_WAITTIME ((FT_DATA <<4) | (PT_LED <<0)) #define TRSEND_PACKET ((FT_DATA <<4) | (PT_TRSEND <<0)) |
函数processRxPacket():
/************************************************************************** 功能描述:对接收的数据包进行解析,并执行相应的操作 输入参数:无 输出参数:无 *************************************************************************/ void processRxPacket(void) { ...... ...... …… //不同类型数据包进行不同处理 switc |