学习zigbee入门-5
来源:互联网 发布:教学白板软件多少钱 编辑:程序博客网 时间:2024/05/23 17:18
【转】学习zigbee入门-5
前面虽然写了不少,太技术化了,这个不是我的本意。不知道前面写的怎么样,技术含量肯定是不高的。这个本人是相当清楚,但是我最大的期望就是错误不要太多!突然想起来前面有个问题没有解决,我想很多人看到那里都很郁闷的。就是设备类型的选择,在 TI 原装系统上是通过板载跳线来选择的,但是我这里不是采用原装,那么就需要通过程序来修改其设备类型,然后编译下载。具体程序段如下:
#if defined ( SOFT_START )
if ( readCoordinatorJumper() )
zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR;
else
zgDeviceLogicalType = ZG_DEVICETYPE_ROUTER;
#endif // SOFT_START
这里有个条件编译,其条件编译设置如下:C/C++ Compiler /Preprocessor /Defined symblos (进行删除和添加操作即可),既然这里设置了 SOFT_START,那么上段程序就要被编译。那么第一句程序
if ( readCoordinatorJumper() )
就是检测跳线(开发板上带有的),其实稍微知道编程的都了解怎么修改了,哈哈!
屏蔽: /*
if ( readCoordinatorJumper() )
zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR;
else */
这 3 句,那么就只剩下:zgDeviceLogicalType = ZG_DEVICETYPE_ROUTER;了 那么编译自然该设备就为路由器了。简单吧!协调器我就不想多说怎么做了哈,同样道理的! 还有一个问题需要说下,就是 Ti 原装的 EM 板子用到了 LCD,所以在程序中可能在某个地方要对 LCD 初始化,那么如果没有液晶的板子或者与 TI 那个不完全一
样的 LCD 就有可能运行不走,通俗的解决办法是禁止 LCD 初始化等操作,Ti 在这个方面做的很人性化,禁止 LCD 功能没有必要在程序中找到 LCD 相关程序删除,而是仅仅需要通过条件编译来禁止。显得相当简单,C/C++ Compiler /Preprocessor /Defined symblos ,删除LCD 的条件编译。 解决这个问题后一般都能够运行程序了。也就是说到这里如果还把演示程序运行不起来的话,那就证明我所有的东西都白写了,反正我到这里我的演示 程序已经运行如飞了。
那么接下来就是来看看 Z-Stack 具体的一些东西了,我打算先这样看起:
1、Z-Stack 的结构,因为打开 Z-Stack 的目录可以看出还是比较复杂的,只有比较清楚了解其结构之后呢,在程序运行或者修改中才能顺利的找到自己想要的部分。
2、Z-Stack 的应用建立。就是怎么在 TI 提供的协议(裸协议)上建立一个应用。这个层次要求就比较高了,我初步的设想是希望能分析完 SAMPLE 例子的应用就能自己建立,而不需要太多的去了解下层的协议。但是往往希望与现实是有偏差的,走一步算一步了。
3、了解硬件相关设定、驱动。也就是说把例子跑通了,毕竟是基于 TI 的硬件,或者说基于开发系统的硬件,如果要做自己的应用,那么必须要开发自己的硬件。怎么把自己的硬件驱动加入协议,这个我想也是需要解决的问题。
4、接下来可能就要深入分析协议了,这个目前我还不清楚从什么地方看起,因为毕竟对 ZIGBEE 这个协议本身就不太了解,但是在学习过程中应该会慢慢对它有认识。所以到了这一步的时候说不定我就已经摸索出一条方法了---毕竟俺是相当的聪明嘛!?
5、需要解决的问题,需要了解的东西很多,对于不太了解这个东西的我来说,不可能非常有计划并统筹安排这些事,走弯路是必然的,但是我一致认为走弯路才是经验的积累!--------------------------------我的名言之一!
这里就把这个给结束了,这样觉得分得清楚一些。
#if defined ( SOFT_START )
if ( readCoordinatorJumper() )
zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR;
else
zgDeviceLogicalType = ZG_DEVICETYPE_ROUTER;
#endif // SOFT_START
这里有个条件编译,其条件编译设置如下:C/C++ Compiler /Preprocessor /Defined symblos (进行删除和添加操作即可),既然这里设置了 SOFT_START,那么上段程序就要被编译。那么第一句程序
if ( readCoordinatorJumper() )
就是检测跳线(开发板上带有的),其实稍微知道编程的都了解怎么修改了,哈哈!
屏蔽: /*
if ( readCoordinatorJumper() )
zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR;
else */
这 3 句,那么就只剩下:zgDeviceLogicalType = ZG_DEVICETYPE_ROUTER;了 那么编译自然该设备就为路由器了。简单吧!协调器我就不想多说怎么做了哈,同样道理的! 还有一个问题需要说下,就是 Ti 原装的 EM 板子用到了 LCD,所以在程序中可能在某个地方要对 LCD 初始化,那么如果没有液晶的板子或者与 TI 那个不完全一
样的 LCD 就有可能运行不走,通俗的解决办法是禁止 LCD 初始化等操作,Ti 在这个方面做的很人性化,禁止 LCD 功能没有必要在程序中找到 LCD 相关程序删除,而是仅仅需要通过条件编译来禁止。显得相当简单,C/C++ Compiler /Preprocessor /Defined symblos ,删除LCD 的条件编译。 解决这个问题后一般都能够运行程序了。也就是说到这里如果还把演示程序运行不起来的话,那就证明我所有的东西都白写了,反正我到这里我的演示 程序已经运行如飞了。
那么接下来就是来看看 Z-Stack 具体的一些东西了,我打算先这样看起:
1、Z-Stack 的结构,因为打开 Z-Stack 的目录可以看出还是比较复杂的,只有比较清楚了解其结构之后呢,在程序运行或者修改中才能顺利的找到自己想要的部分。
2、Z-Stack 的应用建立。就是怎么在 TI 提供的协议(裸协议)上建立一个应用。这个层次要求就比较高了,我初步的设想是希望能分析完 SAMPLE 例子的应用就能自己建立,而不需要太多的去了解下层的协议。但是往往希望与现实是有偏差的,走一步算一步了。
3、了解硬件相关设定、驱动。也就是说把例子跑通了,毕竟是基于 TI 的硬件,或者说基于开发系统的硬件,如果要做自己的应用,那么必须要开发自己的硬件。怎么把自己的硬件驱动加入协议,这个我想也是需要解决的问题。
4、接下来可能就要深入分析协议了,这个目前我还不清楚从什么地方看起,因为毕竟对 ZIGBEE 这个协议本身就不太了解,但是在学习过程中应该会慢慢对它有认识。所以到了这一步的时候说不定我就已经摸索出一条方法了---毕竟俺是相当的聪明嘛!?
5、需要解决的问题,需要了解的东西很多,对于不太了解这个东西的我来说,不可能非常有计划并统筹安排这些事,走弯路是必然的,但是我一致认为走弯路才是经验的积累!--------------------------------我的名言之一!
这里就把这个给结束了,这样觉得分得清楚一些。
0 0
- 学习zigbee入门-5
- zigbee学习笔记---入门
- 学习zigbee入门-3
- 学习zigbee入门-4
- 学习zigbee入门-6
- 学习zigbee入门-7
- 学习zigbee入门-8
- 学习zigbee入门-9
- 学习zigbee入门-10
- 学习zigbee入门-11
- ZigBee 入门学习
- 转】学习ZigBee入门-2
- zigbee入门 z-stack学习入门
- 转】[Zigbee]如何学习zigbee -- 无线单片机怎样入门
- Zigbee入门
- Zigbee深入浅出之Zigbee入门
- ZigBee学习
- zigbee 学习
- ComboBoxPropertyDescriptor 中使用枚举类型
- 学习zigbee入门-4
- wpa_supplicant--内部结构分析
- Android中关于inflate
- TI Z-stack协议栈开发环境和工作流程
- 学习zigbee入门-5
- linux grep 与 正则表达式
- 孝
- 学习zigbee入门-6
- android apk打包签名机制
- Windows 下 gpedit.msc services.msc 扩展选项卡空白
- [五一特别礼物] 最强的反编译 ida Pro 6.5 Demo Plus来了
- 学习zigbee入门-7
- HDU 1232