学习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、需要解决的问题,需要了解的东西很多,对于不太了解这个东西的我来说,不可能非常有计划并统筹安排这些事,走弯路是必然的,但是我一致认为走弯路才是经验的积累!--------------------------------我的名言之一! 
这里就把这个给结束了,这样觉得分得清楚一些。 
0 0
原创粉丝点击