全部博文(200)
发布时间:2013-01-07 15:00:44
当我们选择了终端、路由器、或者协调器的时候,来看一下程序中是怎么判断的。也就是如何作为其中的各个角色进行启动,是加入网络,还是形成网络。因为我们在这三个设备上使用的一套代码。首先,我们可以看到下面的三张图,这个是以SampleApp例程为例子。从三幅图中我们可以看来,当选择不同的设备类型编译时,下面加载的配置文件是不一样的。 下面是f8wCoord.cfg文件中的配置信息。这个协调器中的编译选项比路由器结点的编译选项相比多了一个-DZDO_COORDINATOR选项。 /* Common To......【阅读全文】
发布时间:2013-01-07 15:00:38
在上一篇文章中,分析了一下定义了HOLD_AUTO_START编译选项后,程序的流程,这里分析一下在没有定义这个编译选项后,程序的启动流程,也就是自动启动模式的流程。SampleApp例程为例。 在ZDApp.c文件中,可以看到下面的定义: #if defined( HOLD_AUTO_START ) devStates_t devState = DEV_HOLD; // 初始化-不会自动启动 #else devStates_t devState = DEV_INIT; //初始化-没......【阅读全文】
发布时间:2013-01-07 15:00:33
如果使用HOLD_AUTO_START选项,那么本工程就会禁止自动启动ZDApp事件处理循环中的ZDO_NETWORK_INIT事件,也就是上电后不自动调用ZDOInitDevice(),需要通过外部事件,或者用户自己调用这个函数,下面我们看看定义了这个函数后,程序的流程是怎么样的。 在ZDApp.c文件中,可以看到下面的定义: #if defined( HOLD_AUTO_START ) devStates_t devState = DEV_HOLD; // 初始化-不会自动启动 #else devStates_t ......【阅读全文】
发布时间:2013-01-07 15:00:25
KVP: Key-value pair (键值对) MSG: Message service type(报文) 这两种数据传输格式都是在应用支持子层定义。AF层。 KVP:是ZigBee 规范定义的特殊数据传输机制,它定义了属性(attribute)、属性值(value)以及用于KVP操作的命令:set,Get,Event.其中Set用于设置一个属性值,Get用于获取一个属性值,Event用于通知一个属性已经发生改变 通过一种规定来标准化数据传输格式和内容,主要用于传输较简单的变量值......【阅读全文】
发布时间:2013-01-07 15:00:20
串口接收发送数据有两种方式,一种是中断的模式,另一种是DMA方式,这里主要以中断的方式,来看一下使用串口来发送,接收数据的整个流程。这里以SerialApp例程为例子。 在mian函数中的调用HalDriverInit();函数,在函数中初始化串口,主要是配置管脚和DMA通道 void HalDriverInit (void) { ................................... /* UART */ #if (defined HAL_UART) && (HAL_UART ......【阅读全文】