TI中文支持网
TI专业的中文技术问题搜集分享网站

BasicRF 简析

/***********************************************************************************
* @fnmain
*
* @briefThis is the main entry of the "Light Switch" application.
*After the application modes are chosen the switch can
*send toggle commands to a light device.
* @parambasicRfConfig - file scope variable. Basic RF configuration
*data
*appState - file scope variable. Holds application state
*
* @returnnone
*/
 
/***********************************************************************************
@函数主函数
@简介“灯开关”程序的起始主函数。在选定程序模式后,由开关节点按键 向 灯节点发送一个 状态切换命令 来控制灯的灭。
@参数basicRfConfig - Basic RF 配置信息
typedef struct {uint16 myAddr;//本节点地址;uint16 panId;//PANID号;uint8 channel;// 通道号;uint8 ackRequest;//是否要求有应答;#ifdef SECURITY_CCM//安全设置(目前应用不涉及该应用,一般跳过处理);uint8* securityKey;uint8* securityNonce;#endif
} basicRfCfg_t;appState – 显示应用程序状态
basicRfRxInfo_t 和 basicRfTxState_t收发的一些信息状态。
@返回值无
*/
 
void main(void)
{uint8 appMode = NONE;//如果程序中 多个功能选择的话 可以考虑 设备模式变量 来进行程序功能的选择;//设备参数的选择也是同样的道理,如:设备编号。// Config basicRFbasicRfConfig.panId = PAN_ID;//该程序中关于网络参数PANID 、通道号、短地址都以常量的形式固定;basicRfConfig.channel = RF_CHANNEL;basicRfConfig.ackRequest = TRUE;//  该值为真,该节点发送数据包后,要求接受方收到数据包后返回一个ACK;
#ifdef SECURITY_CCMbasicRfConfig.securityKey = key;
#endif// Initalise board peripheralshalBoardInit();//  进行时钟设置 和 IO设置,如:LED、按键、LCD等相关外设;halJoystickInit();// 重复上一步基本的初始化,多出部分为可选择功能:开启中断服务子程序;// Initalise hal_rf// 进行RF初始化,如果RF部分初始化失败,则指示灯动作;if(halRfInit()==FAILED) {HAL_ASSERT(FALSE);}// Indicate that device is poweredhalLedSet(1);// LED1亮;// Print Logo and splash screen on LCD// 液晶显示logo;utilPrintLogo("Light Switch");// Wait for user to press S1 to enter menu//等待按下S1 进入功能选择目录;while (halButtonPushed()!=HAL_BUTTON_1);halMcuWaitMs(350);halLcdClear();// Set application role//通过Joystick操作 赋值给 程序模式变量 以进行功能的选择;//若设备节点功能固定的话,这部分可舍去;appMode = appSelectMode();halLcdClear();// Transmitter application//根据 模式变量的值 来进入不同的功能程序;//开关节点为发送程序;if(appMode == SWITCH) {// No return from hereappSwitch();}// Receiver application//灯节点为接收程序;else if(appMode == LIGHT) {// No return from hereappLight();}// Role is undefined. This code should not be reached//如果节点功能未被定义即,非开关非灯,则指示灯动作;HAL_ASSERT(FALSE);
}
Viki Shi:

感谢分享

赞(0)
未经允许不得转载:TI中文支持网 » BasicRF 简析
分享到: 更多 (0)