从零开始学习Zstack之5

2022-03-22 05:43:17   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《从零开始学习Zstack之5》,欢迎阅读!
开始,Zstack,学习

从零开始学Z-Stack5



前面虽然写了不少,但是回头看看大多都是废话,不过也没办法,没有废话的润色就太枯燥了,太技术化了,这个不是我的本意。不知道前面写的怎么样,技术含量肯定是不高的。这个本人是相当清楚,但是我最大的期望就是错误不要太多!

突然想起来前面有个问题没有解决,我想很多人看到那里都很郁闷的。就是设备类型的选择,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() )



1 / 3


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具体的一些东西了,我打算先这样看起:

1Z-Stack的结构,因为打开Z-Stack的目录可以看出还是比较复杂的,只有比较清楚了解其结构之后呢,在程序运行或者修改中才能顺利的找到自己想要的部分。

2Z-Stack的应用建立。就是怎么在TI提供的协议(裸协议)上建立一个应用。这个层次要求就比较高了,我初步的设想是希望能分析完SAMPLE例子的应用就能自己建立,而不需要太多的去了解下层的协议。但是往往希望与现实是有偏差的,走一步算一步了。

3、了解硬件相关设定、驱动。也就是说把例子跑通了,毕竟是基于TI的硬件,或者说基于开发系统的硬件,如果要做自己的应用,那么必须要开发自己的硬件。怎么把自己的硬件驱动加入协议,这个我想也是需要解决的问题。

2 / 3


4、接下来可能就要深入分析协议了,这个目前我还不清楚从什么地方看起,因为毕竟对ZIGBEE这个协议本身就不太了解,但是在学习过程中应该会慢慢对它有认识。所以到了这一步的时候说不定我就已经摸索出一条方法了---毕竟俺是相当的聪明嘛!? 5、……………………….

需要解决的问题,需要了解的东西很多,对于不太了解这个东西的我来说,不可能非常有计划并统筹安排这些事,走弯路是必然的,但是我一致认为走弯路才是经验的积累! --------------------------------我的名言之一! 这里就把这个给结束了,这样觉得分得清楚一些。 YYYtech于成都

20087152020



3 / 3


本文来源:https://www.dywdw.cn/701c39756beae009581b6bd97f1922791688be12.html

相关推荐
推荐阅读