从零开始学Z-Stack之5 前面虽然写了不少,但是回头看看大多都是废话,不过也没办法,没有废话的润色就太枯燥了,太技术化了,这个不是我的本意。不知道前面写的怎么样,技术含量肯定是不高的。这个本人是相当清楚,但是我最大的期望就是错误不要太多! 突然想起来前面有个问题没有解决,我想很多人看到那里都很郁闷的。就是设备类型的选择,在TI原装系统上是通过板载跳线来选择的,但是我这里不是采用原装,那么就需要通过程序来修改其设备类型,然后编译下载。具体程序段如下: #if defined ( SOFT_START ) ?if ( readCoordinatorJumper() ) ??? zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR; ?else ??? zgDeviceLogicalType = ZG_DEVICETYPE_ROUTER; #endif // SOFT_START 这里有个条件编译,其条件编译设置如图5-1。 ? 图5-1 既然这里设置了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相关程序删除,而是仅仅需要通过条件编译来禁止。显得相当简单,如5-2图就是禁止LCD的条件编译。 ? 图5-2 解决这个问题后一般都能够运行程序了。也就是说到这里如果还把Demo程序运行不起来的话,那就证明我所有的东西都白写了,反正我到这里我的Demo程序已经运行如飞了。 那么接下来就是来看看Z-Stack具体的一些东西了,我打算先这样看起: 1、Z-Stack的结构,因为打开Z-Stack的目录可以看出还是比较复杂的,只有比较清楚了解其结构之后呢,在程序运行或者修改中才能顺利的找到自己想要的部分。 2、Z-Stack的应用建立。就是怎么在TI提供的协议(裸协议)上建立一个应用。这个层次要求就比较高了,我初步的设想是希望能分析完SAMPLE例子的应用就能自己建立,而不需要太多的去了解下层的协议。但是往往希望与现实是有偏差的,走一步算一步了。 3、了解硬件相关设定、驱动。也就是说把例子跑通了,毕竟是基于TI的硬件,或者说基于开发系统的硬件,如果要做自己的应用,那么必须要开发自己的硬件。怎么把自己的硬件驱动加入协议,这个我想也是需要解决的问题。 4、接下来可能就要深入分析协议了,这个目前我还不清楚从什么地方看起,因为毕竟对ZIGBEE这个协议本身就不太了解,但是在学习过程中应该会慢慢对它有认识。所以到了这一步的时候说不定我就已经摸索出一条方法了---毕竟俺是相当的聪明嘛!? 5、………………………. 需要解决的问题,需要了解的东西很多,对于不太了解这个东西的我来说,不可能非常有计划并统筹安排这些事,走弯路是必然的,但是我一致认为走弯路才是经验的积累! --------------------------------我的名言之一! 这里就把这个给结束了,这样觉得分得清楚一些。 本文来源:https://www.wddqw.com/doc/81f3d0d5b9f3f90f76c61bf6.html