组网1
北航计算机网络实验1组网实验

BGP BGP BGP 路 由 策 略 路 由 性 、 路 由 聚 属 协 议 基 本 析 、 状 态 换 、 转 分
IPv6
IGMP
的 编 程 、
协 议 、
组 网 设 计
邻 居 建
网 络 布 线 测 试
网 络 协 议 测 试
网 络 故 障 诊 断
、
端 口 技 术 、
协 议 分 析 、 基
协 议
构 、 SPF 计 算 法 、 算
10.1.2.254
10.2.3.254
ls2 S3526
OSPF
10.1.3.3 10.0.0.245 10.1.2.4 10.1.3.4 10.0.0.241 10.1.2.5 10.1.3.5 10.0.0.237
10.1.2.3
总行 数据 中心
rt5 R2610
ls7 S5516-1
ls8 S5516-2
10
北航计算机网络实验
主要内容
课程介绍 规章制度 实验环境 常用操作 组网实验
11
北航计算机网络实验
课程实验环境(1/4) 课程实验环境(1/4)
与华为公司共同建设北航-华为网络实验室, 与华为公司共同建设北航-华为网络实验室, 北航方面近几年投资约600万元; 万元; 北航方面近几年投资约 万元 实验设备 高端设备:核心路由器、交换机10 10台 高端设备:核心路由器、交换机10台; 中低端路由器40 40台 三层交换机48 48台 中低端路由器40台,三层交换机48台; 自行研制了部分实验设备, 机柜; 自行研制了部分实验设备,如机柜; 实验室网络布线 4人一组,每组 台路由器和两台三层交换机, 人一组, 台路由器和两台三层交换机, 人一组 每组2台路由器和两台三层交换机 4台PC;可最多同时容纳 人进行实验 台 ;可最多同时容纳70人进行实验
黄岩公安局总部移动虚拟网组网方案V1

黄岩公安局总部移动虚拟网组网解决方案中国移动通信集团有限公司台州分公司2014年7月目录第1章项目概述 (3)1.1 用户需求分析 ............................................................................ 错误!未定义书签。
1.2 设计原则 (3)1.3 设计依据 .................................................................................... 错误!未定义书签。
第2章虚拟网组网方案. (5)2.1 固话网路改造拓扑图 (5)2.2 虚拟网路由途径 ........................................................................ 错误!未定义书签。
2.3 IP-PBX简介 (7)第3章售后服务 (10)第1章项目概述1.1需求分析根据现场调查及客户询问了解,需求分析如下:根据黄岩公安局总部的实际情况,其所在的部门与人员较多,且公安局属于公众服务部门,相对来说电话数量比较繁多,对话费的控制非常重要。
移动虚拟网可以有效的解决这一问题,应用移动虚拟网可以实现固话与固话,固话与手机进行短号语音通信,有效减少话费费用。
客户要求保持配线架至用户桌面的综合布线不变,且要求原电信号码使用习惯不作改变。
现客户需求为在原线路上叠加移动综合接入虚拟网业务。
调整后,市话与原4位固话短号继续走电信线路,移动提供6位虚拟网短号(固话间、固话与手机间、手机间6位短号互拨)及长途业务。
根据省局统一分配,固话号段为64XXXX,手机号段为66XXXX,具体号码可由客户自行分配。
1.2设计目标1、充分满足用户单位对语音通信的应用需求,能够为用户提供更为稳定的网络环境;2、具有良好的可扩充和易于维护的特性;3、采用IP专线接入方案具有更高的性能价格比;4、在不牺牲通信质量的前提下,最大限度地节省经费开支。
计算机网络实验实验四、综合组网实验1

实验四、综合组网实验一、实验目的:a)进一步了解和掌握静态路由的配置b)学习默认路由概念和配置c)学习动态路由概念和配置d)学习地址解析概念和配置e)学习利用路由器配置简单的防火墙二、实验内容:a)进一步了解和掌握静态路由的配置b)学习默认路由概念和配置c)学习动态路由概念和配置d)学习地址解析概念和配置e)学习利用路由器配置简单的防火墙i.编辑和配置访问控制列表ii.编辑和配置扩展的访问控制列表三、预备知识:a)动态路由协议Internet协议是一种可路由的网络协议,其中路由器执行路由寻址功能。
每个路由器中有一个路由表,它是转发数据包的关键。
路由表是由网络管理者手工创建,或是通过与其它路由器交换路由信息而动态创建。
路由表中包括网络地址、网络掩码、路径的路由选择度量标准、使用的接口以及通向目的地路径上使用的下一个路由器的IP 地址(如果需要下一站)。
路由器就是通过查找这张表,来确定一条到达给定目的地的最佳路径,然后沿着这条网络路径转发数据包。
迈普路由器支持多种路由方法,包括静态路由/缺省路由、RIPv1/v2动态路由、OSPF 动态路由、IRMP动态路由、BGP动态路由等。
OSPF(Open Shortest Path First,开放的最短路径优先)是一种基于链路状态动态路由协议,用于在单一的自治系统(Autonomous System,简称AS)内决策路由。
本实验将进行对迈普路由器进行OSPF动态路由协议实际配置。
b)防火墙基本知识目前的网络是尽量允许访问,可以说只要在网络上的,在设置适当路由的情况下都可以被来自整个internet者访问,如果不设置路由则又不能被任何外部用户访问。
实际上往往要允许来自外部的某些用户访问,而拒绝其它用户访问。
这就要用到防火墙。
防火墙是在内部网与外部网之间实施安全防范的系统,是一种访问控制机制,用于控制哪些内部服务可以被访问,哪些外部服务可以被访问。
防火墙是一种有效的网络安全机制。
XX公司广域网组网技术建议书(省内专线接入+VPN备份)1

XX公司广域网组网技术建议书(省内专线接入+VPN备份)目录第1章需求分析 (3)1.1 项目背景 (3)1.2 网络现状 (3)1.3 存在问题 (3)1.4 建设目标 (3)第2章网络建设原则 (4)第3章总体建设方案 (4)3.1 设备选型 (4)3.2 网络总体方案 (5)第4章需求实现 (5)4.1 专线接入 (5)4.2 VPN备份 (5)4.2.1 总部及分支VPN备份 (6)4.2.2 移动人员VPN接入 (6)4.3 产品配置 (6)第5章总体方案优势 (7)第6章产品简介 (8)第1章需求分析1.1 项目背景XX公司是广东省内一家主营电子制造的中小型企业。
目前包括广州总部和东莞、深圳及佛山的三个分公司。
公司总部大概有30多名员工,而其它三个分公司各有10名左右的员工。
1.2 网络现状XX公司目前仅在公司总部和三个分公司分别建立了局域网。
具体结构如下:广州总部以S3600为核心交换机,连接总部的30多台主机及服务器。
三个分公司均是在核心部署一台S3100作为核心交换机,连接多台主机。
1.3 存在问题目前,XX公司的整体网络存在的主要问题是现有网络功能单一,无法满足日益增长的业务需求。
目前建成的总部及分公司四处局域网,功能均只是简单的内部邮件交互、文件传输及打印机共享等简单的一些办公功能,作用有限。
而目前随着业务的不断发展,公司对于数据的远程传输及共享需求越来越明显。
●各地分公司每月需要将销售数据、产品需求等一些较为敏感的数据发送到总部,以便总部进行统筹。
●总部则需要将销售计划、产品生产计划等数据下发到各分公司,以便更好地指导其销售及生产。
●出差人员需要随时随地访问总部及分公司各业务服务器,以便实时获取业务相关信息。
1.4 建设目标在保证原有网络拓朴结构基本不变的前提下,以最小的投资实现如下功能:●租用专线,实现总部与各分公司的互联。
●租用ISP提供的线路,建立VPN网络,进行备份。
组网相关知识点总结图

组网相关知识点总结图一、组网基础知识1.1 组网概念组网是指将多个设备或系统通过一定的连接方式进行联接,从而实现设备之间的互相通信、数据传输和资源共享。
在各种通信和网络领域中,都需要通过组网技术来构建通信系统和网络架构,以满足不同的通信需求。
1.2 组网的分类根据组网的不同特点和应用场景,可以将组网技术分为有线组网和无线组网两大类。
有线组网是指通过物理线缆连接设备和系统,主要包括以太网、局域网、广域网等;无线组网是指通过无线信号进行设备之间的通信和连接,主要包括蜂窝网络、Wi-Fi、蓝牙等。
1.3 组网的基本原理组网的基本原理是通过一定的连接方式将多个设备连接在一起,形成一个整体网络结构,在这个网络结构中,设备之间可以直接进行通信和数据传输。
在组网过程中,需要考虑网络拓扑结构、传输介质、通信协议等因素。
1.4 组网的应用场景组网技术广泛应用于各种通信和网络系统中,包括企业网络、数据中心、工业自动化、智能家居、物联网等领域。
通过组网技术,可以实现设备之间的互联互通,提高通信效率和数据传输速度,满足各种通信需求。
二、有线组网技术2.1 以太网以太网是一种常用的有线组网技术,是一种基于CSMA/CD协议的局域网通信技术。
以太网采用双绞线或光纤作为传输介质,可以实现设备之间的高速数据传输,广泛应用于企业网络和数据中心等场景。
2.2 局域网局域网是指将位于同一地理区域内的多台计算机设备互联起来,实现资源共享和通信服务。
局域网可以采用以太网、令牌环、FDDI等不同的组网技术,是企业内部通信和数据传输的重要手段。
2.3 广域网广域网是指连接在不同地理区域内的多台计算机设备,通过远距离通信线路进行联接,实现远程通信和数据传输。
广域网可以采用X.25、帧中继、ATM等不同的组网技术,是不同地域之间通信和数据交换的重要手段。
2.4 有线组网的特点和优势有线组网技术具有传输速度快、传输稳定性好、安全性高等优点,适用于对传输速度要求较高的场景,如企业网络和数据中心等。
SA组网信令流程详解V1

NR站内切换
测量ID
RRC MEA
S RPR
T
服务小区PCI
邻区PCI
服务小区SSB RSRP/RSRQ
邻区SSB RSRP
RRC CON
N CFG
无线承载配置,包括SRB配置、DRB配置、安全 配置等
小区信息配置,包括MAC逻辑信道配置(与RLC承 载相关),和主小区(SpCell)信息层
密钥信息
PDU Session标识 Qos相关信息
安全相关信息
目录
1 NSA和SA组网架构
2 UE初始流程
搜网流程 初始接入流程
3 NR切换流程
NR站内流程 NR站间切换流程——XN切换流程 NR站间切换流程——NG切换流程 NR异系统切换流程
4 NR重建流程
基于RRC Setup重建流程 基于RRC Reestablishment重建流程
13.NGAP UE CAP INFO IND
17.RRC CONN CFG CMP 20.RRC CONN CFG
18.NGAP INIT CONTEXT Setup RSP
19.PDU Session Setup Req
21.RRC CONN CFG CMP
22.PDU Session Setup RSP
UE在基站的唯一标识
UE位置信息 UE接入的PLMNID NR的小区标识=GNBID+CellID 跟踪区域标识
RRC建立原因值
NR初始接入流程——空口加密
RRC Secu Mod
e Cmd
UE标识
RRC Secu Mod
e CMP
业务控制中心的安全配置 无线承载配置 安全算法配置
加密算法 完整性算法
第1章 以太网组网实验
第1章以太网组网实验目前,以太网是最具影响力和应用最广泛的局域网,由于其组网简单、组建造价低廉,因此成为事实上的局域网标准。
计算机组网涉及计算机网络从涉及、建造到维护的全部生存过程,其涉及内容广泛。
本章通过简单的以太网组网实验,让学生了解和掌握计算机组网的基本方法和过程。
1.1以太网结构以太网在逻辑上采用共享总线的拓扑结构(物理上可能是一个星形结构),如图1-1所示。
介质访问控制方式采用带有冲突检测的载波侦听多路访问策略(CSMA/CD)。
在以太网中任何结点都没有可预约的发送时间,各结点随机发送数据。
网络中不存在集中控制结点,所有结点都平等地争用总线,因此,CSMA/CD的介质访问控制方式属于随机争用方式。
结点结点图1-1 以太网结构以太网组网采用的传输介质可以是同轴电缆、双绞线、光缆等,网络速度有10Mbps、100Mbps、1Gbps等。
但是,无论采用何种传输介质和网络速度,以太网都是使用CSMA/CD 的介质访问控制。
表1-1列出了以太网使用的主要技术标准和技术参数。
表1-1 以太网的主要技术标准和技术参数1.2组网设备与器件不同标准的以太网组网需要使用不同的设备和器件,10BASE-T和100BASE-T组网所需的设备和器件主要有:带有RJ45连接头的UTP双绞线电缆、带有RJ45接口的以太网卡、10/100集线器(交换机)等。
1.2.1以太网集线器与交换机1. 以太网集线器集线器处于网络星形拓扑结构的中心,是以太网中最重要、最关键的设备之一,目前已经被交换机所代替,如图1-2所示。
集线器(HUB)也称为多端口中继器,当集线器的一个端口接收到数据帧后,首先要对接收到的信号进行中继,然后向其他每个端口广播发送。
只有通过集线器,以太网中结点之间的通信才能完成。
集线器具有如下主要功能和特性:➢用作以太网的集中连接点。
➢放大接收到的信号。
➢转发数据信号。
➢无过滤功能。
➢无路由检测和交换功能➢不同速率的集线器不能级联。
1:家庭宽带案例分析与家庭宽带组网配置要求
二、组网案例介绍
1、秋苑小区二期 FTTB+ADSL
• 秋苑小区二期位于昆明市西山区清苑路,平均楼层在六楼 左右,业主大约两千户。
• 小区建于2001年,相对较早,建设时没有五类线铺设,但 具备电话线入户,所以采用FTTB+电话线的模式。
分光器位于每栋的弱电井的 光分接箱内,由于是高层, 每两到三层放置一个
ONT放置于客户家中, ONT俗称“光猫”
二、组网案例介绍
3、万科-金域缇香
• OLT放置在位于小区中心的附近的地下车库移动机房,OLT下 行通过ODF连接到小区楼各个楼宇。
• ODF的光纤标签需要标注好连接到了某栋某楼层的某竖井。
二、组网案例介绍
1、秋苑小区二期
• 配线厢中准备了盒跳线用的半导体放电管安保单元,一般 称为保险,开通时,将保险插入用户跳线模块,即可连通 用户家到ONU的电路。
二、组网案例介绍
1、秋苑小区二期
• ONU下行通过皮线接到用户家的电话信息点,用户用电话 线插入信息点后接ADSL-Modem,ADSL-Modem下行为 五类网线接用户电脑。
四、家庭宽带的VLAN规划
2、FTTH模式
➢ IPTV与IP电话同样进 行先替换再打外层,目 前IPTV与IP无业务, VLAN号暂时不分配
➢ 对于46的ITMS管理标 签,不替换直接打上外 层70,70-79均用于此 ONT管理使用,对于 OLT-2下面的ONT上行 的46,打上外层71
➢ 未使用定制终端和 ITMS的情况,ONT不 用配置管理VLAN,无 管理IP,通过OLT以 PON内部协议收集信息 上报PON网管服务器, OLT上的配置考虑发展, 均配置为替换模式打上 内层标签再打外层标签。
实验1局域网组网方案设计
汇报人: 202X-01-08
目 录
• 实验目的 • 实验环境 • 实验步骤 • 实验结果与分析 • 实验报告撰写
01
实验目的
掌握局域网的基本概念
局域网(Local Area Network,LAN)是指在一定区域内,通过特定的网络设备和传输介质,将多 个计算机、终端设备等相互连接,实现数据传输和资源共享的计算机网络。
测试网络连通性
使用ping命令测试网络连通性
在每个设备上执行ping命令,检查与其他设备的连通性。
使用traceroute命令测试路径连通性
在某个设备上执行traceroute命令,检查数据包经过的路径是否正常。
使用网络工具测试网络性能
使用网络性能测试工具,如iperf、netperf等,测试网络的带宽、延迟等性能指标。
04
实验结果与分析
网络连通性测试结果
总结词
网络连通性良好
详细描述
通过使用ping命令对局域网内的计算机进行连通性测试,结果显示所有计算机 均能够互相通信,网络连通性良好,没有出现丢包或延迟现象。
网络性能分析
总结词
网络性能稳定
详细描述
通过对局域网内的计算机进行文件传输、网络视频会议等应用测试,结果显示网络性能稳定,数据传输速度快, 没有出现明显的延迟或卡顿现象。
实验目的
通过实验掌握局域网组网的基本原理 和技能,熟悉局域网组网方案的设计 与实施过程。
实验环境
具备网络设备和计算机的实验室环境 ,包括路由器、交换机、计算机等必 要设备。
实验步骤详细记录
步骤1
确定组网需求和规模,设计网络拓扑 结构。
步骤2
配置网络设备,包括路由器、交换机 等。
ZXJ10(V10)交换机系统篇 1.组网方式
ZXJ10 V10.0组网最明显的特点是:1.PSM可以带PSM和RSM,组网灵活,节约成本。
2.单模块容量大。
独立成局时纯中继模块可达6240中继。
纯用户15360用户。
3.远端用户模块可实现自交换。
960线以下任意选用。
4.组网能力强,实现3级组网,最大可达62个外围模块,超过50万线。
组网有三种方式,第一种是PSM单模块独立成局,第二种是以1个PSM为中心组网,第三种是中心架组网。
下面分别作一简介。
1.1.基本数据每个PSM有16条Hw上中心网,当它独立成局时,这16条HW可带中继或用户;模块间通讯板+模块内通讯板+七号信令板+V5信令板+ISDN通讯板 12个,其中模块间、模块内通讯板成对(2块)使用。
每对通讯板提供主备各32个64Kb/S的通讯信道。
每对模块间通讯板(MPMP)可带8个外围模块。
每个单模块最大可插5对MPMP板。
每对模块内通讯板(MPPP)提供32对通讯时隙。
每个单模块最大可插5对MPPP板。
T网单元用8对通讯时隙,每个DT单元占用1对通讯时隙,每个用户单元占用2对通讯时隙;单模块中:T网供通讯用(含7号,V5)的Hw共有4条8M,可使用的话路Hw共59条。
话路Hw可灵活配置,可带用户、DT、资源(DTMF、MFC、TONE、CID)。
S网供通讯占用16条8M Hw线,可使用的话路HW共240条(32K)。
STB板可提供8条7号链路。
V5板可提供16个V5通讯通道(每个V5接口用2个C 通道)。
远端模块的用户与模块间时隙的收敛比按8:1 ~ 16:1计算。
●每960用户电路与240中继电路互换。
●每24用户和12个ISDN用户互换,模拟用户板和ISDN板可混插。
●七号中继若去一个局向,只需配 2条七号信令链路;若去多个局向,则每个局向配 2条七号信令链路;1.2.各种模块简介◆中心模块CMSM32S 单平面32K网SM64S 单平面64K网◆交换模块SM(PSM/RSM)SM8 标准近端/远端模块几种典型配置的容量独立成局:用户中继:12480L+2760DT纯中继:6240DT多模块局:用户中继:9600L+1200DT纯中继:2880DT纯用户:15360L机架配置能力:1个机架:最大可配1440L用户,BDT有13个槽位可插DTI(1560DT),2个机架:最大可配4320L用户,BDT有12个槽位可插DTI(1440DT),3个机架:最大可配7200L用户,BDT有10个槽位可插DTI(1200DT),4个机架:最大可配10080L用户,BDT有9个槽位可插DTI(1080DT),5个机架:最大可配12960L用户,BDT有7个槽位可插DTI(840DT),6个机架:最大可配15360L用户,SM4C 紧凑型模块分单机架和双机架配置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于ZStack-CC2530-2.3.0-1.4.0中simpleApp例子的组网(一)所有的C语言编写的程序,入口函数一定是main函数,首先看一下ZMain.c函数。
int main( void ){osal_int_disable( INTS_ALL );HAL_BOARD_INIT();zmain_vdd_check();InitBoard( OB_COLD );HalDriverInit();osal_nv_init( NULL );ZMacInit();zmain_ext_addr();zgInit();#ifndef NONWKafInit();#endifosal_init_system();osal_int_enable( INTS_ALL );InitBoard( OB_READY );zmain_dev_info();#ifdef LCD_SUPPORTEDzmain_lcd_init();#endif#ifdef WDT_IN_PM1WatchDogEnable( WDTIMX );#endifosal_start_system();return 0;}主函数要做的事情非常简单,首先进行了一些初始化,包括各层的初始化,硬件初始化,以及任务的初始化等,然后就进入到操作系统当中,即osal_start_system(); 就再也出不来了。
操作系统的作用就是如果有事件发生,就把这个消息通知给处理该事件的事件处理函数去执行,然后一直的循环查找有没有事件发生。
另外说一下,事件是定义在任务当中的,即一个任务可能有多个事件,每个任务对应一个事件处理函数。
在这个程序中,一共有6个任务,有兴趣的同学可以自己查看void osalInitTasks( void )函数的代码。
接下来看一下zigbee协调器是怎么建立网络的首先我们必须选择SimpleCollectorEB版本,在APP文件下看到sapi.c源文件。
找到SAPI_Init(byte task_id)函数,此函数是进行sapi层的初始化,代码如下void SAPI_Init( byte task_id ){sapi_TaskID = task_id;//将操作系统初始化任务时定义的任务id号传进来sapi_bindInProgress = 0xffff;//设置不允许绑定sapi_epDesc.task_id = &sapi_TaskID;//给端口描述符的任务ID号赋值,感觉也就是端口收到的数据或者消息就交给ID号指定的任务来处理。
sapi_epDesc.endPoint = 0;//端口描述符端口号初始化为0。
#if ( SAPI_CB_FUNC )//编译通过sapi_epDesc.endPoint = zb_SimpleDesc.EndPoint;//端口号赋值sapi_epDesc.task_id = &sapi_TaskID;//任务ID赋值,与上面的任务ID的值是相同的。
sapi_epDesc.simpleDesc = (SimpleDescriptionFormat_t *)&zb_SimpleDesc;//简单描述符赋值,是描述一个端口最基本的信息sapi_tencyReq = noLatencyReqs;//这是一个枚举类型的,不清楚具体含义,不过大家都设成noLatencyReqs,除此之外还有两个值。
afRegister( &sapi_epDesc );//将定义的端点在AF层注册,一定要注册后端点才会生效#endifafSetMatch(sapi_epDesc.simpleDesc->EndPoint, FALSE);//设置描述符不能匹配// Register callback evetns from the ZDAppZDO_RegisterForZDOMsg( sapi_TaskID, NWK_addr_rsp );//在sapi层注册网络地址事件,这个函数可以截取空中发来的消息,有兴趣的可以查查资料,第一个函数是截取的消息发到哪个任务中去,第二个参数,cluserID是消息的类型。
ZDO_RegisterForZDOMsg( sapi_TaskID, Match_Desc_rsp );//同理,在sapi层注册匹配描述符事件。
#if ( SAPI_CB_FUNC )#if (defined HAL_KEY) && (HAL_KEY == TRUE)// Register for HAL eventsRegisterForKeys( sapi_TaskID );//注册按键响应事件if ( HalKeyRead () == HAL_KEY_SW_5){ uint8 startOptions = ZCD_STARTOPT_CLEAR_STATE | ZCD_STARTOPT_CLEAR_CONFIG; zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions ); zb_SystemReset();}#endif // HAL_KEYosal_set_event(task_id, ZB_ENTRY_EVENT);//在这里设置了一个进入事件,第一个参数是task_id是任务的ID号,因此我们可以在sapi层的事件处理函数中找到这个进入事件是怎么处理的。
#endif}在UINT16 SAPI_ProcessEvent( byte task_id, UINT16 events )函数中,找到if ( events & ZB_ENTRY_EVENT ){uint8 startOptions;// Give indication to application of device startup#if ( SAPI_CB_FUNC )zb_HandleOsalEvent( ZB_ENTRY_EVENT );#endif// LED off cancels HOLD_AUTO_START blink set in the stackHalLedSet (HAL_LED_4, HAL_LED_MODE_OFF);//为了方便观察实验现象,将第四个灯关闭。
zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions ); if ( startOptions & ZCD_STARTOPT_AUTO_START ){zb_StartRequest();}else{// blink leds and wait for external input to config and restartHalLedBlink(HAL_LED_2, 0, 50, 500);}return (events ^ ZB_ENTRY_EVENT );}这个时候,程序就停在这里,只能看到LED_2在闪烁。
这个时候我们可以按下按键1,然后去找一下,事件处理函数中如何对此事件进行相应。
找到UINT16 SAPI_ProcessEvent( byte task_id, UINT16 events )函数中的关于按键的处理:case KEY_CHANGE:#if ( SAPI_CB_FUNC )zb_HandleKeys( ((keyChange_t *)pMsg)->state, ((keyChange_t*)pMsg)->keys );#endifbreak;进入到HandleKeys函数中,找到if ( keys & HAL_KEY_SW_1 ){if ( myAppState == APP_INIT ){zb_ReadConfiguration( ZCD_NV_LOGICAL_TYPE, sizeof(uint8),&logicalType );//读取flash中的设备类型if ( logicalType != ZG_DEVICETYPE_ENDDEVICE ){logicalType = ZG_DEVICETYPE_COORDINATOR;//将设备类型改变为协调器类型zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8),&logicalType);//将设备类型写入到flash中}zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8),&startOptions );//读取启动模式startOptions = ZCD_STARTOPT_AUTO_START;//将启动模式赋值为自动启动模式zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8),&startOptions );//将启动模式存入到flash中zb_SystemReset();//系统重启设置。
这时候flash中,启动模式就变成了ZCD_STARTOPT_AUTO_START,系统重启以后,系统继续刚才讲过的过程,不同的是在进行到进入事件处理函数时,if ( startOptions & ZCD_STARTOPT_AUTO_START )的值成立,调用if语句里面的zb_StartRequest()函数;即执行开始请求函数。
}接下来进入到zb_StartRequest函数中看一看,原代码如下:void zb_StartRequest(){uint8 logicalType;zb_ReadConfiguration( ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType );//从flash中读出设备类型。
// Check for bad combinations of compile flag definitions and device type setting. if ((logicalType > ZG_DEVICETYPE_ENDDEVICE) || //可以判断if里面语句为0,执行else#if !ZG_BUILD_ENDDEVICE_TYPE // Only RTR or Coord possible.(logicalType == ZG_DEVICETYPE_ENDDEVICE) ||#endif#if !ZG_BUILD_RTR_TYPE // Only End Device possible.(logicalType == ZG_DEVICETYPE_ROUTER) ||(logicalType == ZG_DEVICETYPE_COORDINATOR) ||#elif ZG_BUILD_RTRONLY_TYPE // Only RTR possible.(logicalType == ZG_DEVICETYPE_COORDINATOR) ||#elif !ZG_BUILD_JOINING_TYPE // Only Coord possible.(logicalType == ZG_DEVICETYPE_ROUTER) ||#endif(0)){logicalType = ZB_INVALID_PARAMETER;SAPI_SendCback(SAPICB_START_CNF, logicalType, 0);}else{logicalType = ZB_SUCCESS; //将设备类型改为ZB_SUCCESSZDOInitDevice(zgStartDelay); // 执行初始化设备函数。