修改TI SensorDemo例程,摆脱烦人的摇杆与按键吧!
来源:互联网 发布:查字典软件 编辑:程序博客网 时间:2024/06/03 23:24
转自:http://blog.csdn.net/jecan123/article/details/7547456
TI提供的SensorDemo例程非常不错,配合 ZigBee Sensor Monitor还可以观察ZigBee的网络拓扑结构。
但是按照原本SensorDemo来运行,collector、router和enddevice都有相应的按键或摇杆要操作,才能建立网络、发送数据。
1、加多一个新配置-RouterEB
打开SensorDemo工程,在Project菜单下找到Edit Configurations,进去之后点击New按钮,弹出New Configuration对话框,如下图所示填写,点击OK:
些时建立的RouterEB跟CollectorEB的配置是完全相同的。
2、选择CollectorEB配置,打开Options选项,在Defined Symbols那里加多一个编译选项:MY_TYPE_COLLECTOR
3、在sapi.c文件的 SAPI_Init()函数,找到下面语句:
afSetMatch(sapi_epDesc.simpleDesc->EndPoint, FALSE);
修改为:
#ifdef MY_TYPE_COLLECTOR
afSetMatch(sapi_epDesc.simpleDesc->EndPoint, TRUE);//FALSE
#else
afSetMatch(sapi_epDesc.simpleDesc->EndPoint, FALSE);//FALSE
#endif
4、找到DemoCollector.c文件的函数 void zb_HandleOsalEvent( uint16 event )
将if( event & ZB_ENTRY_EVENT )内的代码修改为以下内容:
if( event & ZB_ENTRY_EVENT )
{
// blind LED 1 to indicate starting/joining a network
HalLedBlink ( HAL_LED_1, 0, 50, 500 );
HalLedSet( HAL_LED_2, HAL_LED_MODE_OFF );
if ( appState == APP_INIT )
{
#ifdef MY_TYPE_COLLECTOR
logicalType = ZG_DEVICETYPE_COORDINATOR;
zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);
initUart(uartRxCB);
#else
logicalType = ZG_DEVICETYPE_ROUTER;
zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);
#endif
}
// Start the device
zb_StartRequest();
}
5、DemoSensor.c 和Democollector.c文件,找到void zb_BindConfirm( uint16 commandId, uint8 status )里的
if ( reportState )
{
} //在原文没有这个对花括号,个人认为应该加上,保留花括号里面的语句
将这行注释掉。
如此路由器和终端在与协调器绑定成功后自动发送报告。
也可以将工程内所有跟reportState有关的代码删除。
- 修改TI SensorDemo例程,摆脱烦人的摇杆与按键吧!
- 修改TI SensorDemo例程,摆脱烦人的摇杆与按键吧!
- TI的Zstack协议栈SensorDemo例程温度收发
- TI的Zstack协议栈SensorDemo例程温度收发
- [原创]使用IAR编译TI SensorDemo注意事项
- Unity3d 控制角色移动 键盘按键与虚拟摇杆
- TI公司自带例程的默认波特率设置
- 如何在TI官网上找到MSP430的程序例程
- 如何在TI官网上找到MSP430的程序例程
- 如何在TI官网上找到MSP430的程序例程
- C++例程与Java例程的对比
- 如何下载TI官方例程
- 【html5手游开发】虚拟摇杆及虚拟按键的开发
- 摇杆捕鱼游戏按键值对应表
- 对烦人的findViewById说再见吧!
- 对烦人的findViewById说再见吧!
- 对烦人的FindViewById说再见吧
- 软件设计师与程序员之间的拥抱与摆脱
- Java程序员从笨鸟到菜鸟之(二十五)XML之Schema验证
- wpa_supplicant 笔记
- iOS 6.0的转屏问题
- WebView无法放大缩小解决方案
- setWindowFlags的使用
- 修改TI SensorDemo例程,摆脱烦人的摇杆与按键吧!
- 25个增强iOS应用程序性能的提示和技巧(初级篇)
- java.lang.AbstractMethodError: com.microsoft.jdbc.base.BaseDatabaseMetaData.getJDBCMajorVersion()
- 利用PDB文件将蛋白中的单聚体利用对称矩阵转换为二聚体
- HDU 2037 今年暑假不AC
- POJ 2398 Toy Storage
- C/C++内存管理详解
- zoj 3175 Number of Containers (nbut1375) 计算n /1+n/2+n/3+n/4....+n/n
- 位图引起的内存溢出OutOfMemory解决方案