无线传感器网络

本文介绍了ZigBee网络通信中的Z-Stack函数及其使用,涉及串口初始化、无线数据发送、设备状态管理、消息处理等方面。通过多个选择题的形式,详细阐述了函数如AF_DataRequest()、HalUARTOpen()等的功能和参数含义,以及设备状态、地址模式和数据传输的相关知识。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

综合作业题

1【单选题】
以下是对串口进行初始化或读写的函数,如果使用( )对串口进行初始化,还需要明确使用函数 MT_UartRegisterTaskID()对要使用串口的任务进行注册
A、uint16 HalUARTRead(uint8 port, uint8 *buf, uint16 len)
B、uint16 HalUARTWrite(uint8 port, uint8 *buf, uint16 len)
C、uint8 HalUARTOpen(uint8 port, halUARTCfg_t *config)
D、void MT_UartInit()
正确答案:D

2【单选题】以下Z-Stack函数中,( )用于发送无线数据
A、afStatus_t AF_DataRequest(afAddrType_t *dstAddr, … )
B、uint8 *osal_msg_receive( uint8 task_id )
C、uint8 osal_msg_deallocate( uint8 *msg_ptr )
D、uint8 HalLedSet (uint8 leds, uint8 mode)
正确答案: A

3【单选题】以下Z-Stack函数中,( )用于提取接收到的命令消息
A、afStatus_t AF_DataRequest(afAddrType_t *dstAddr, … )
B、uint8 *osal_msg_receive( uint8 task_id )
C、uint8 osal_msg_deallocate( uint8 *msg_ptr )
D、uint8 HalLedSet (uint8 leds, uint8 mode)

正确答案: B

4【单选题】以下代码的功能是( )

MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID );
while ( MSGpkt )
{
switch ( MSGpkt->hdr.event )
{
case ZDO_STATE_CHANGE:
GenericApp_NwkState = (devStates_t)(MSGpkt->hdr.status);
if ( GenericApp_NwkState == DEV_END_DEVICE )
{ … }

}

A、从消息队列中提取属于任务GenericApp_TaskID的消息,如果不存在,则进一步判断该消息是否与设备的状态改变有关,如果有关,则判断设备是否是正常工作的协调器

B、从消息队列中提取属于任务GenericApp_TaskID的消息,如果存在,则进一步判断该消息是否与设备的状态改变有关,如果有关,则判断设备是否是正常工作的路由器

C、从消息队列中提取属于任务GenericApp_TaskID的消息,如果存在,则进一步判断该消息是否与设备的状态改变有关,如果有关,则判断设备是否是正常工作的终端设备

D、从消息队列中提取属于任务GenericApp_TaskID的消息,如果不存在,则进一步判断该消息是否与设备的状态改变有关,如果有关,则判断设备是否是正常工作的终端设备

正确答案: C

5【单选题】Z-Stack中,afIncomingMSGPacket_t定义了无线数据消息的结构:
typedef struct
{
osal_event_hdr_t hdr;
uint16 groupId;
uint16 clusterId;
afAddrType_t srcAddr;
uint16 macDestAddr;
uint8 endPoint;
uint8 wasBroadcast;
uint8 LinkQuality;
uint8 correlation;
int8 rssi;
uint8 SecurityUse;
uint32 timestamp;
uint8 nwkSeqNum;
afMSGCommandFormat_t cmd;
} afIncomingMSGPacket_t;
当应用层发生SYS_EVENT_MSG事件时,以上结构中的成员( )中保存有全局性系统消息(比如AF_INCOMING_MSG_CMD、KEY_CHANGE等)
A、uint16 groupId
B、osal_event_hdr_t hdr
C、int8 rssi
D、afMSGCommandFormat_t cmd
正确答案: B

6【单选题】Z-Stack中,afIncomingMSGPacket_t定义了无线数据消息的结构:
typedef struct
{
osal_event_hdr_t hdr;
uint16 groupId;
uint16 clusterId;
afAddrType_t srcAddr;
uint16 macDestAddr;
uint8 endPoint;
uint8 wasBroadcast;
uint8 LinkQuality;
uint8 correlation;
int8 rssi;
uint8 SecurityUse;
uint32 timestamp;
uint8 nwkSeqNum;
afMSGCommandFormat_t cmd;
} afIncomingMSGPacket_t;
当应用层发生SYS_EVENT_MSG事件,并且全局性系统消息是AF_INCOMING_MSG_CMD时,以上结构中的成员( )中保存有收到的无线数据
A、uint16 groupId
B、osal_event_hdr_t hdr
C、int8 rssi
D、afMSGCommandFormat_t cmd
正确答案: D

7【单选题】Z-Stack函数AF_DataRequest( )定义如下:
afStatus_t AF_DataRequest(
afAddrType_t *dstAddr,
endPointDesc_t *srcEP,
uint16 cID,
uint16 len,
uint8 *buf,
uint8 *transID,
uint8 options,
uint8 radius
)
其中,参数 endPointDesc_t *srcEP 指向( )
A、发送节点的端点描述符
B、要发送的数据
C、与本次通信数据有关的群集标识
D、发送数据的目的地址
正确答案: A

8【单选题】Z-Stack函数AF_DataRequest( )定义如下:
afStatus_t AF_DataRequest(
afAddrType_t *dstAddr,
endPointDesc_t *srcEP,
uint16 cID,
uint16 len,
uint8 *buf,
uint8 *transID,
uint8 options,
uint8 radius
)
其中,参数 afAddrType_t *dstAddr 指向( )
A、发送节点的端点描述符
B、要发送的数据
C、与本次通信数据有关的群集标识
D、发送数据的目的地址
正确答案: D

9【单选题】Z-Stack函数AF_DataRequest( )定义如下:
afStatus_t AF_DataRequest(
afAddrType_t *dstAddr,
endPointDesc_t *srcEP,
uint16 cID,
uint16 len,
uint8 *buf,
uint8 *transID,
uint8 options,
uint8 radius
)
其中,参数 uint8 *buf 指向( )
A、发送端的端点描述符
B、要发送的数据
C、与本次通信数据有关的群集标识
D、发送数据的目的地址
正确答案: B

10【单选题】以下代码用于( )
const SimpleDescriptionFormat_t SampleApp_SimpleDesc =
{
SAMPLEAPP_ENDPOINT, // int Endpoint;
SAMPLEAPP_PROFID, // uint16 AppProfId[2];
SAMPLEAPP_DEVICEID, // uint16 AppDeviceId[2];
SAMPLEAPP_DEVICE_VERSION, // int AppDevVer:4;
SAMPLEAPP_FLAGS, // int AppFlags:4;
SAMPLEAPP_MAX_CLUSTERS, // uint8 AppNumInClusters;
(cId_t *)SampleApp_ClusterList, // uint8 *pAppInClusterList;
SAMPLEAPP_MAX_CLUSTERS, // uint8 AppNumInClusters;
(cId_t *)SampleApp_ClusterList // uint8 *pAppInClusterList;
};
A、定义ZigBee网络通信的地址模式
B、定义ZigBee网络的规范类型
C、定义串口的配置参数
D、定义ZigBee应用对象的端点描述符
正确答案: D

11【单选题】以下代码的主要功能是( )
static void GenericApp_SendTheMessage( void )
{
char theMessageData[] = “LED”;
afAddrType_t my_DstAddr;
my_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
my_DstAddr.endPoint = GENERICAPP_ENDPOINT;
my_DstAddr.addr.shortAddr = 0x0000;

if ( AF_DataRequest( &my_DstAddr, &GenericApp_epDesc,
GENERICAPP_CLUSTERID,
(uint16)osal_strlen( theMessageData ) + 1,
(byte *)theMessageData,
&GenericApp_TransID,
AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{ }
}
A、向特定的路由器发送数据
B、向协调器发送数据
C、向所有设备广播数据
D、向特定的终端设备发送数据
正确答案: B

12【单选题】以下是Z-Stack示例项目中应用层事件处理函数的部分代码:
uint16 GenericApp_ProcessEvent( uint8 task_id, uint16 events )
{

if ( events & GENERICAPP_SEND_MSG_EVT )
{
GenericApp_SendTheMessage();
osal_start_timerEx( GenericApp_TaskID,
GENERICAPP_SEND_MSG_EVT,
5000);
return (events ^ GENERICAPP_SEND_MSG_EVT);
}

}
这段代码的基本功能是( )
A、周期性地产生事件,以便周期性地完成相应的任务
B、启动一个定时器,时间一到,程序返回
C、返回原始事件
D、定义一个自定义事件
正确答案: A

13【单选题】要在Z-Stack项目中启用默认的AES加密来保护无线数据,需要( )
A、在f8wConfig.cfg 文件中,定义REFLECTOR
B、在f8wConfig.cfg 文件中,定义DBEACON_REQUEST_DELAY=100
C、在f8wConfig.cfg 文件中,定义SECURE=1
D、在f8wConfig.cfg 文件中,定义ZDAPP_CONFIG_PAN_ID
正确答案: C

14【单选题】以是Z-Stack项目中的部分代码:
void SampleApp_Init( uint8 task_id ) {

halUARTCfg_t uartConfig;
uartConfig.configured = TRUE;
uartConfig.baudRate = HAL_UART_BR_115200;
uartConfig.callBackFunc = uartCB;
HalUARTOpen(0, &uartConfig);

}
其中的uartCB( )
A、是函数的名字,主要用于从ZigBee设备向串口写数据
B、是函数的名字,主要用于ZigBee设备从串口读取数据
C、是一个变量,主要用于保存来自串口的数据
D、是一个变量,主要用于保存向串口写入的数据
正确答案: B

15【多选题】Z-Stack中,afAddrMode_t是一个枚举类型,定义如下:
typedef enum {
afAddrNotPresent = AddrNotPresent,
afAddr16Bit = Addr16Bit,
afAddr64Bit = Addr64Bit,
afAddrGroup = AddrGroup,
afAddrBroadcast = AddrBroadcast
} afAddrMode_t;
其中( )表示单播通信。
A、afAddrNotPresent = AddrNotPresent
B、afAddr16Bit = Addr16Bit
C、afAddr64Bit = Addr64Bit
D、afAddrGroup = AddrGroup
E、afAddrBroadcast = AddrBroadcast
正确答案: BC

16【多选题】Z-Stack中,afAddrMode_t是一个枚举类型,定义如下:
typedef enum {
afAddrNotPresent = AddrNotPresent,
afAddr16Bit = Addr16Bit,
afAddr64Bit = Addr64Bit,
afAddrGroup = AddrGroup,
afAddrBroadcast = AddrBroadcast
} afAddrMode_t;
当使用afAddrMode_t = AddrBroadcast时,目标对象可以是( )
A、所有设备,包括休眠中的设备
B、除睡眠外的所有设备
C、所有路由器,包括协调器
D、所有路由器,不包括协调器
正确答案: ABC

17【多选题】以下Z-Stack函数中,( )可用于查询节点的地址
A、uint16 NLME_GetShortAddr(void)
B、byte * NLME_GetExtAddr(void)
C、uint16 NLME_GetCoordShortAddr(void)
D、void * NLME_GetCoordExtAddr(byte *buf)
正确答案: ABCD

18【多选题】Z-Stack中,devStates_t定义了设备的状态:
typedef enum {
DEV_HOLD,
DEV_INIT,
DEV_NWK_DISC,
DEV_NWK_JOINING,
DEV_NWK_REJOIN,
DEV_END_DEVICE_UNAUTH,
DEV_END_DEVICE,
DEV_ROUTER,
DEV_COORD_STARTING,
DEV_ZB_COORD,
DEV_NWK_ORPHAN
} devStates_t;
其中( )表示设备处于可以与ZigBee网络中的其他节点进行正常通信的状态
A、DEV_END_DEVICE
B、DEV_ROUTER
C、DEV_NWK_DISC
D、DEV_ZB_COORD

正确答案: ABD
19
【判断题】除协调器外,ZigBee设备的网络地址,是在设备加入网络时,从协调器上获得的
正确答案:×
20【判断题】ZigBee 2007 PRO 使用的是随机地址分配机制。当一个节点加入网络时,将接收到其父节点分配的随机地址
正确答案:√
21【判断题】默认情况下,终端设备并不接收组播信息
正确答案:√

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄九Coral

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值