本帖最后由 ddllxxrr 于 2015-12-16 13:26 编辑
5.10 高级收发功能 5.10.1 隨机数发生器 隨机数发生器能通过在配置文件中定义PHY_ENABLE_RANDOM_NUMBER_GENERATOR.这个设置只在无线传输支持这项功能情况下有影响。 一个隨机数可以被PHY_RandomReq()功能请求。一个有效16比特隨机值立刻从该函数返回。 用隨机数生产例子:
void randomize(void) { srand(PHY_RandomReq()); }
5.10.2 能量检测 能量检测可以通过在配置文件中定义PHY_ENABLE_ENERGY_DETECTION来实现。这个功能可用在所有无线传输。 一个通道的能量测量可以使用PHY_EdReq()函数来请求。测量的通道能量值(dB)可立刻从函数中返回。 使用能量检测: void scanChannelEnergy(void) { int8_t ed; PHY_SetChannel(0x0d); ed = PHY_EdReq(); if (ed < -50) // stay on this channel else // scan another channel }
5.11 配置参数 每一个应用应提供一个config.h为命字的文件。这个文件应当含有任何重写默认参数,并且可以为空。也推荐应用参数存在有APP_前缀的文件中。一个完全列出轻型网络栈的配置参数和描述如下所示:
。NWK_BUFFERS_AMOUNT-为堆栈操作保留的缓冲数。这个缓冲用来发送,接收,和路由帧。最小的使用值为1;可以允许堆栈发送和接收帧。然而,发送一个帧的确认请求需要2个缓冲区,一个发送一个帧和另一个接受确认。最小推荐值为3
。NWK_DUPLICATE_REJECTION_TABLE_SIZE-进入重复拒绝表的数目。这个表用来检测和拒绝已经被堆栈接收的处理的帧。这个表用来解决: 。网络拓扑的循环,一个路由算法可以建立一个形势,一个帧在一些节点之间循环路由。 。已经处理从邻居节点传来的广播帧 表中的输入项仍然活动NWK_DUPLICATE_REJECTION_TTL定义的毫秒并且在时间溢出时将不被取代,所以当一个帧收到并且在重复拒绝表中没有空间,这个帧不被处理。
|