开发套件范例代码使用说明.doc
开发套件范例代码使用说明开发套件范例代码使用说明概述:开发套件的范例代码基于标准型、增强型开发板实现,使用了开发板上的各种硬件资源,例如串口、LED指示灯、按键、传感器、蜂鸣器等,关于开发板上的硬件资源请参考开发板的使用说明手册。基于开发套件的范例代码共分为四种:(1) 点对点数据通信,该范例在标准型开发板上实现,其目的是实现在两块标准型开发板之间进行数据通信(2) 点对点数据透传,该范例在标准型开发板上实现,其目的是实现在两块标准型开发板之间进行数据透明传输,即当其中一块开发板通过串口接收到数据之后,通过无线方式发出,另一块开发板收到数据之后通过串口输出数据。(3) 传感器数据采集、显示与传输,该范例在增强型开发板上实现,其目的是实现增强型开发板上传感器的数据采集,显示在LCD屏上并发送到目的地址。(4) 星形网络数据通信和传输,该范例在增强型和基本型开发板上实现,其目的是实现一个星形网络,网络里面的节点可以相互通信,并进行数据传输。我公司除了提供基本的例程之外,还提供可烧写的固件,固件类型有两种:(1) 距离通信测试固件,该固件用于在两个模块之间测试其通信距离(2) 模块自组网通信固件,该固件用于ZigBee组网数据通信,固件共分为三种类型COO、Router、ZED以上两种类型固件源代码属于我公司的关键性文档,因此不能向外公开,只能以可烧写格式的文件提供,即s37格式或者bin格式的文件。下面将详细介绍增强型开发板的模块例程使用方法以与我公司提供的可烧写固件的使用方法。1. 创建工程文件用户在获取我公司的的范例代码之后,必须预先安装ST SimpleMAC1.0.3固件库,否则范例代码无法使用。我公司的范例代码压缩文件结构如下:DevBoard >> 内涵两个工程:STM32W108为点对点传感器数据采集与发送实验。(适用于增强型板) STM32W108_BasicBoard为点对点按键应答实验(适用于标准型板)SeriaNet >> 点对点数据透传(适用于标准型板和增强型板)talk >> 星型网络传感器数据采集与传输(适用于增强型板)基于标准型开发板的模块例程是在ST SimpleMAC1.0.3固件库talk例程的基础上修改而来的,为充分使用开发板上的硬件资源,此例程包含基本的IO操作、LED控制,UART通信,Flash芯片的读写。下面以DevBoard例程介绍如何使用例程进行测试。DevBoard文件夹中包含已创建的IAR工程文件,工程文件基于IAR for ARM 5.5版本创建,因此请使用IAR for ARM 5.5与以上版本打开工程文件。注意:必须将DevBoard文件夹置于ST SimpleMAC-1.0.3STM32W108simplemacdemos的目录下,否则工程编译将不能通过。用户在使用例程之前请首先安装ST SimpleMAC1.0.3的开发包,此开发包包含STM32W108芯片外设的各种库文件。安装ST SimpleMAC1.0.3的开发包之后,将我公司提供的DevBoard的例程文件夹放置到ST SimpleMAC-1.0.3STM32W108simplemacdemos目录下,并使用IAR for ARM 5.5打开DevBoard.eww工程文件。打开之后其工程的文件结构如下图所示:工程选择基于标准型开发板的模块例程工程名称为:STM32W108_BasicBoardIAR软件的基本功能按键介绍1、Compile 编译按钮,点击该按钮可以编译当前文件,一旦当前文件有语法错误或者不规范的地方,便会在软件界面底部的build显示栏显示错误和警告。2、Make生成按钮,点击该按钮可以实现整个工程编译与链接,并生成可下载的文件。3、Download and Debug 下载并且仿真按钮,点击该按钮可以实现把用户所编写的工程项目烧写到STM32W108芯片的Flash中,并且进入仿真调试界面。4、Find 查找按钮和 Replace替换按钮,点击该按键可以查找当前文件中的关键字以与关键字的替换。5、仿真调试界面下的一些主要按钮应用。Go 全速执行按钮,点击该按钮可以实现程序的全速运行。Break 制动按钮,点击该按钮可以实现停止程序运行。 Step Over单步执行按钮,每点击一次该按钮就可以实现程序执行一步。Step Into跳入按钮和Step Out跳出按钮,点击该按钮可以实现子函数的跳入和跳出。Reset复位按钮可实现对程序的复位。Stop Debugging退出按钮可以实现退出仿真调试界面,返回到编程界面。有了这些调试按键可以帮助用户调试程序,发现程序的问题所在。注:以上关于IAR开发环境的截图均采用IAR for ARM5.5评估版界面,如其与用户的开发环境显示不符,以用户自己的开发环境为准。2. 将固件烧写到模块将固件烧写到模块需要使用Jlink烧写调试工具。标准型和增强型开发板均包含一个标准的20芯JTAG接口座,使用一根20芯排线连接开发板和Jlink调试工具,即可进行固件的下载与调试。固件的下载和调试提供有两种办法:1、 使用我公司提供的烧写工具软件:ST32W_Programer,其使用方法请参考该烧写软件提供的使用说明,该文件位于ST32W_Programer文件夹内,名称是:“程序烧写说明.txt”2、 IAR for ARM 开发环境直接烧写:首先将模块连接到标准型开发板,(注意:模块在插到开发板的连接底座时,PCB天线部分向外)然后将Jlink连接到标准型开发板的JTAG接口,该接口的位置请见文档的2.10部分说明。开发板上电之后,即可在IAR开发环境下点击Projiect菜单然后选择DownLoad and Debug进行下载调试,正确下载之后如下图所示:每个例程下的各种工程应用配置已经配置完成,用户无需修改即可进行下载与调试,若用户需要自行修改工程应用配置,请注意保证配置的正确。3、关于IAR for ARM 开发环境的使用说明,请参考其使用手册,其文件位于IAR安装环境目录:IAR SystemsEmbedded Workbench 5.50commondoc注:以上关于IAR开发环境的截图均采用IAR for ARM5.5评估版界面,如其与用户的开发环境显示不符,以用户自己的开发环境为准。3. 基于标准型开发板点对点通信例程基于标准型开发板的点对点通信例程包含以功能:1、 STM32W108芯片的IO使用范例,包含按键操作、LED驱动等2、 实现无线模块点对点通信,即按其中一块开发板上的按键,另一块开发板上的LED指示灯会点亮会熄灭3.1 如何使用标准型开发板对此例程进行调试与测试注:此例程的名称为STM32W108_BasicBoard,用户在打开例程的工程文件之后,即可通过第1节图示的工程选择栏,选择对应的例程。软件环境:IAR EWARM5.5 硬件环境:REXENSE标准型开发板,REXENSE直插型无线模块实验步骤(1)硬件连接:1、把REXENSE无线模块插到标准型开发板的“P2”双排插座上,注意PCB天线方向向外。2、JTAG仿真器的一端插到标准型开发板的20针JTAG调试口上,另一端插到电脑的USB接口。3、标准型开发板电源输入接口可以接受外部5直流电压,也可以把用4节5号干电池安装在基础板背面的电池槽内作为电源。4、确认步骤1、2、3操作无误后,按下电源开关给标准型开发板上电。(2)打开工程,以下介绍三种打开工程的方法:1、按照路径ST SimpleMac-1.0.3/STM32W108/simplemac/demos/DevBoard/寻找到需要打开的工程文件夹,选择DevBoard.eww文件,双击鼠标左键实现工程的打开。然后在Workspace下切换工程到STM32W108_BasicBoard。若用户已安装多个版本的IAR for ARM开发环境,建议不要使用此方式打开,因为这样打开无法确定是由哪一个版本打开工程,可能造成代码的编译不兼容的问题。2、先打开IAR EWARM软件,然后按照方法一中提到的路径找到工程文件,直接把DevBoard.eww文件拖入到IAR软件界面实现工程的打开。然后在Workspace下切换工程到STM32W108_BasicBoard。3、先打开IAR EWARM软件,然后通过选择工具栏下file->open->WorkSpace,再根据选项框提示,按路径找到工程后点击打开。然在再在Workspace下切换工程到STM32W108_BasicBoard。(4)下载程序到实验套件:点击按钮->Compile->Make->Download and Debug->Go,实现程序从编译到烧写。若程序有错误,则不能通过编译和实现下载。本公司提供的开发板例程已经是通过编译的正确例程。(5)功能演示:演示的功能为点对点通信的呼叫应答功能,采用无线通信模块的PCB天线。所以需要两套开发套件配合完成实验。当两套实验套件都烧写程序并且上电运行后。一块开发板的S1按键每按下一次,可观察到另一块开发板的LED1亮暗翻转一次。一块开发板的S2按键每按下一次,可观察到另一块开发板的LED2亮暗翻转一次。通信双方可实现双向通信。这样便证明了两块开发板可实现通信的呼叫应答功能,用户可通过传递这样的简单信号实现简单的远程控制。图片演示通信过程如下:操作一:按下面一块板子的S1按键 操作二:按下面一块板子的S2按键 操作三:按下面一块板子的S2按键 操作四:按下上面一块板子的S2按键4 基于增强型开发板点对点数据透明传输例程基于增强型开发板的点对点通信例程包含以功能:1、 STM32W108芯片的IO使用范例,USART接口应用等2、 实现无线模块点对点透传,即用户只要在串口调试助手输入要发送的字符串,接收端所连接的串口调试助手接收栏显示所接收的数据4.1 如何使用增强型开发板对此例程进行调试与测试注:此例程的名称为STM32W108,用户在打开例程的工程文件之后,即可通过第1节图示的工程选择栏,选择对应的例程。软件环境:IAR EWARM5.5,串口调试助手 硬件环境:REXENSE标准型开发板,REXENSE直插型无线模块实验步骤(1)硬件连接:1、把REXENSE无线模块插到标准型开发板的“P2”双排插座上,注意PCB天线方向向外。2、JTAG仿真器的一端插到标准型开发板的20针JTAG调试口上,另一端插到电脑的USB接口。3、标准型开发板电源输入接口可以接受外部5直流电压,也可以把用4节5号干电池安装在基础板背面的电池槽内作为电源。4、确认步骤1、2、3操作无误后,按下电源开关给增强型开发板上电。(2)打开工程,以下介绍三种打开工程的方法:1、按照路径ST SimpleMac-1.0.3/STM32W108/simplemac/demos/ SeriaNet /寻找到需要打开的工程文件夹,选择SeriaNet.eww文件,双击鼠标左键实现工程的打开。然后在Workspace下切换工程到STM32W108。若用户已安装多个版本的IAR for ARM开发环境,建议不要使用此方式打开,因为这样打开无法确定是由哪一个版本打开工程,可能造成代码的编译不兼容的问题。2、先打开IAR EWARM软件,然后按照方法一中提到的路径找到工程文件,直接把SeriaNet.eww文件拖入到IAR软件界面实现工程的打开。然后在Workspace下切换工程到STM32W108。3、先打开IAR EWARM软件,然后通过选择工具栏下file->open->WorkSpace,再根据选项框提示,按路径找到工程后点击打开。然在再在Workspace下切换工程到STM32W108。(4)下载程序到实验套件:点击按钮->Compile->Make->Download and Debug->Go,实现程序从编译到烧写。若程序有错误,则不能通过编译和实现下载。本公司提供的开发板例程已经是通过编译的正确例程。(5)功能演示:演示的功能为点对点透传,采用无线通信模块的PCB天线。所以需要两套开发套件配合完成实验。当两套实验套件上的模块都烧写完程序并且上电后。分别打开两端与串口连接的串口调试助手工具,选择各自对应的串口序号、选择波特率为115200bps、无校验、一位停止位。用户可以在任意一端的串口助手发送栏中输入待发送的数据,然后点击发送。那么在另一端的串口助手接收栏便能显示接收到的数据(即一端发送的数据)。通信双方可实现双向通信,这样便证明了两块开发板可实现通信的透传功能,用户可通过该种方式实现远程数据传输。图片演示通信过程如下:操作一:开发板分别上电 操作二:发送端发送123456789操作三:接收端接收显示 操作四:发送端与接收端互换注:此例程虽然使用增强型开发板来进行演示,实际上也可使用标准型开发板进行测试5 基于增强型开发板传感器数据采集与传输例程基于增强型开发板的点对点通信例程包含以功能:1、 STM32W108芯片的IO使用范例,包含按键操作、LCD液晶驱动、USART接口应用等2、 实现无线模块点对点通信,即按下开发板上的功能按键,便会在本机液晶上显示当时采集的数据和信息,另一块开发板可通过USART接口把接收到的数据和信息发送到上位机。5.1 如何使用增强型开发板对此例程进行调试与测试注:此例程的名称为STM32W108,用户在打开例程的工程文件之后,即可通过第1节图示的工程选择栏,选择对应的例程。软件环境:IAR EWARM5.5、串口调试助手 硬件环境:REXENSE增强型开发板,REXENSE直插型无线模块实验步骤(1)硬件连接:1、把REXENSE无线模块插到标准型开发板的“U4”双排插座上,注意PCB天线方向向外。2、JTAG仿真器的一端插到标准型开发板的20针JTAG调试口上,另一端插到电脑的USB接口。3、标准型开发板电源输入接口可以接受外部5直流电压,也可以把用4节5号干电池安装在基础板背面的电池槽内作为电源。4、用串口线或者USB线连接开发板和PC机,实现串口通信的硬件连接。注意,若采用USB口连接,则把开发板JP5处跳线帽选择选择1、2处连接;若采用串口连接,则把开发板JP5处跳线帽选择为3、4处连接。4、确认步骤1、2、3、4操作无误后,按下电源开关给标准型开发板上电。(2)打开工程,以下介绍三种打开工程的方法:1、按照路径ST SimpleMac-1.0.3/STM32W108/simplemac/demos/DevBoard/寻找到需要打开的工程文件夹,选择DevBoard.eww文件,双击鼠标左键实现工程的打开。然后在Workspace下切换工程到STM32W108。若用户已安装多个版本的IAR for ARM开发环境,建议不要使用此方式打开,因为这样打开无法确定是由哪一个版本打开工程,可能造成代码的编译不兼容的问题。2、先打开IAR EWARM软件,然后按照方法一中提到的路径找到工程文件,直接把DevBoard.eww文件拖入到IAR软件界面实现工程的打开。然后在Workspace下切换工程到STM32W108。3、先打开IAR EWARM软件,然后通过选择工具栏下file->open->WorkSpace,再根据选项框提示,按路径找到工程后点击打开。然在再在Workspace下切换工程到STM32W108。(4)下载程序到实验套件:点击按钮->Compile->Make->Download and Debug->Go,实现程序从编译到烧写。若程序有错误,则不能通过编译和实现下载。本公司提供的开发板例程已经是通过编译的正确例程。(5)功能演示:演示的功能为点对点通信的传感器数据采集与传输,采用无线通信模块的PCB天线。所以需要两套开发套件配合完成实验。当两套实验套件都烧写完程序并且上电运行后。分别打开两端与串口连接的串口调试助手工具,选择各自对应的串口序号、选择波特率为115200bps、无校验、一位停止位。按下其中一块板子的S5按键,可以在本机端的LCD上看到ADC采样电位器的当前电压值,并且把数据发送给接收端。按下板子的S6按键,可以在本机端的LCD上看到ADC采样光敏传感器的当前光照强度,并且把数据发送给接收端。按下板子的S4按键,可使系统进入睡眠状态10秒钟,工作指示灯关闭,10秒钟后系统自动唤醒。按下板子的S3按键,可进行一次温湿度的采样,可以在本机端的LCD上看到采样温湿度传感器的得到的当前温湿度数据,此时再按下S2按键便可把采集的温湿度数据发送给接收端。该系统是双向通信系统,所以在另一端按照以上操作同样可以实现上述功能。图片演示通信过程如下:操作一:按下右键采集光强信息并发送 操作二:按下左键采集电位器电压并发送操作三:查看接收端数据 操作四:按下下键进行一次温湿度采样操作五:按下上键发送温湿度数据 操作六:查看接收端数据6 基于增强型开发板传感器数据采集星形网络传输例程基于增强型开发板的点对点通信例程包含以功能:1、 STM32W108芯片的IO使用范例,包含按键操作、LCD液晶驱动、USART接口应用等2、实现无线模块点对多通信,协调器可以与网络中任何一个终端设备实现双向通信,但是终端与终端的通信需要协调器作为中间传递者。6.1 如何使用标准型开发板的例程进行调试与测试注:此例程的名称为talk,用户在打开例程的工程文件之后,即可通过第1节图示的工程选择栏,选择对应的例程。软件环境:IAR EWARM5.5、串口调试助手 硬件环境:REXENSE增强型开发板,REXENSE直插型无线模块实验步骤(1)硬件连接:1、把REXENSE无线模块插到标准型开发板的“U4”双排插座上,注意PCB天线方向向外。2、JTAG仿真器的一端插到标准型开发板的20针JTAG调试口上,另一端插到电脑的USB接口。3、标准型开发板电源输入接口可以接受外部5直流电压,也可以把用4节5号干电池安装在基础板背面的电池槽内作为电源。4、用串口线或者USB线连接开发板和PC机,实现串口通信的硬件连接。注意,若采用USB口连接,则把开发板JP5处跳线帽选择选择1、2处连接;若采用串口连接,则把开发板JP5处跳线帽选择为3、4处连接。4、确认步骤1、2、3、4操作无误后,按下电源开关给标准型开发板上电。(2)打开工程,以下介绍三种打开工程的方法:1、按照路径ST SimpleMac-1.0.3/STM32W108/simplemac/demos/talk/寻找到需要打开的工程文件夹,选择talk.eww文件,双击鼠标左键实现工程的打开。然后在Workspace下切换工程到STM32W108。若用户已安装多个版本的IAR for ARM开发环境,建议不要使用此方式打开,因为这样打开无法确定是由哪一个版本打开工程,可能造成代码的编译不兼容的问题。2、先打开IAR EWARM软件,然后按照方法一中提到的路径找到工程文件,直接把talk.eww文件拖入到IAR软件界面实现工程的打开。然后在Workspace下切换工程到STM32W108。3、先打开IAR EWARM软件,然后通过选择工具栏下file->open->WorkSpace,再根据选项框提示,按路径找到工程后点击打开。然在再在Workspace下切换工程到STM32W108。(4)下载程序到实验套件:点击按钮->Compile->Make->Download and Debug->Go,实现程序从编译到烧写。若程序有错误,则不能通过编译和实现下载。本公司提供的开发板例程已经是通过编译的正确例程。(5)功能演示:演示的功能为点对多通信的传感器数据采集与传输功能,采用无线通信模块的PCB天线。但是为增强说服力本实验采用三套开发套件配合完成实验。其中一套开发套件烧写并设置为协调器模式,其他两套烧写为终端模式。当三套实验套件都烧写完程序并且上电复位后。分别打开两端PC机的串口调试助手,匹配串口端号、选择波特率为115200bps、无校验、一位停止位。上电复位后是一个用户发送地址的选择界面,通过方向组合按键的上、下按键便可实现地址的加和减,发送的目标地址设置好后,按下中心按键进行确定,进入通信收发界面。若不需要发送信息,则可以直接按下中心按键进行确定,进入通信收发界面。此时,用户可以通过按键功能说明中的按键进行操作,在本机的LCD液晶上会显示采集到的数据,在接收端用户可通过串口调试助手等上位机软件观测到接收的数据。用户若需要对另一点进行通信,可以按下中心键退出,重新进入发送目标地址选择界面,此后重复以上操作即可实现功能。其中当协调器设置发送地址为0时,数据可广播给所有终端设备。注:星型网络的广播地址默认为0x00,协调器默认地址是0x01,终端设备是依次类推,用户可根据需要扩展更多的终端设备。 图片演示通信过程如下:操作一: 通过上、下按键选择发送端地址1 操作二:按中间键进入通信收发界面操作三:按下终端设备2的左键采集一次电压并发送 操作四:查看接收端数据操作五:按下终端设备二的中间键重新选择发送地址3 操作六:启动采集一次温湿度并发送操作七:按下协调器的中间键选择0地址广播 操作八:按下协调器的右键采集若干次光强并广播操作九:查看终端设备3接受的数据7 如何使用距离测试固件进行测试 距离测试需要2块增强型开发板并使用我公司提供的烧写工具软件:ST32W_Programer和本测试固件RexBee_RangeTest.s37,固件在光盘的软件和工具RexBee_Firmware距离测试固件。1、烧写距离测试固件:将本开发板通过JTAG端口用J-LINK烧写工具连接至电脑,电源选择开关选择好电源供电方式,按电源开关S1键,给开发板上电。未烧写固件的模块上电后,开发板液晶显示屏无显示。若模块已烧写距离测试固件,则可跳过此步骤。将我公司提供的固件“RexBee_RangeTest.s37”按ST32W_Programer说明进行烧写,点击Burn.bat后将出现以下烧写界面 。 当固件烧写好后,显示done并自动退出界面。观察开发板出现以下界面说明固件烧写成功。注意:2块开发板都需要进行烧写;若模块已经烧写距离测试的固件,则可以省略以上两步。2、按键S2为设置选项按键,连续按S2键将出现Power Mode、Antenna、Channel的设置选项,S5/S6键为S2当前选项设置键,S3为当前模块状态键(发送/接收状态),本测试不需要S4键。 在Power Mode选项下,可按S5/S6选择100mw/1mw来匹配当前的模块进行测试。 在Antenna选项下,可按S5/S6选择PCB/UFL天线模式。 在Channel选项下,可按S5/S6选择011到026的其中一个Channel下进行测试。 按S3键,选择当前模式,显示为Current: Receive或Current: Transfer.本例将设置Power Mode为100mw,Antenna为UFL,Channel为018来进行测试。其操作过程如下:1)分别按开发板S2键进入Power Mode选项,按S5/S6选择100mw如图:2)继续按S2进入Antenna选项下,按S5/S6选择UFL天线模式如图:3)继续按S2进入Channel选项下,按S5/S6选择018,如图:4)将其中一块开发板作为发送方,另一块开发板作为接收方。任意一端开发板按S3键选择Current为Transfer,开始进行测试,液晶显示屏上Sent packets出现数据,说明开发板正在发送数据。 此时另一方自动作为接收方,并开始接收发送方的数据进行测试。液晶屏上的ReceivedPackets出现数据,说明开发板正在接收数据;并且接收方的Sent packets和发送方Received Packets一起增加,用户可以观察测试的实际情况,例如发送包计数、接收包计数、信号强度等。5)根据测试距离不同,相应的RSSI Value值也不同。2块开发板可互换模式,当Transfer方的Sent Packets为100时,自动停止数据发送;即每次测试100包,当需要再次测试时,按任意一块开发板上的S3即可进入测试。注意:测试时只能有一端按S3键进入测试。8 如何使用模块自组网通信固件 1. 模块自组网通信固件,该固件用于模块组网数据通信,固件共分为三种类型COO、Router、ZED(固件在光盘的软件和工具RexBee_Firmware增强型模块固件)。要具体了解本固件通信原理与详细配置,请先阅读光盘里的ZigBee模块AT指令操作手册和ZigBee模块数据通信协议(文档在光盘的常用文档里)。下面先简单介绍操作过程: 2. 组网需要至少2块开发板,2个模块;且模块需要预先烧写固件。用户可根据需要,购买相应数量。关于模块的固件烧写,请参考第7节的固件烧写步骤,完成固件的烧写0x0016A05DCOOROUTER设备A设备BUARTUART 3. 现以COO和Router类节点进行组网数据通信测试:假设无线网络中有2个节点,其中COO节点的MAC地址低4字节为0x0016A729,与用户设备A通过UART端口连接;另一个ROUTER节点的MAC地址低4字节为0x0016A05D,与用户设备B通过UART端口连接。如下图所示:0x0016A729(注:每块模块的MAC地址都不一样,请勿直接套用,下面会介绍获取当前模块MAC的办法) 4. 先将2块开发板烧入程序,一块烧COO固件程序,一块烧ROUTER固件程序,可以参考第7节的固件烧写步骤,完成固件的烧写 5. 模块固件烧写完成之后,分别将模块插到开发板的模块插座上,并给2块开发板上电,模块在上电之后会自动组网;然后各自用串口线通过开发板的RS232接口与电脑连接。 (注意:一般电脑只有一个RS232接口,所以还需要一条USB转串口线,如果电脑不带RS232接口,那需要两条USB转串口线) 连接好后电脑会多出2个端口,并记住烧入COO固件和ROUTER固件开发板的各自连接的端口,可右键单击我的电脑属性设备管理器端口(COM和LPT)查看自己的端口,然后打开串口调试助手(光盘的软件和工具里),出现以下界面:。我们给烧入COO开发板的串口参数配置为破特率为115200 效验位为NONE 数据位为8,停止位为1,串(端)口号每个人可能不一样,请根据自己的串(端)口号选择。然后在打开一次串口调试助手,给烧入ROUTER开发板的串口参数配置为破特率为9600 效验位为NONE 数据位为8,停止位为1。 1) 连接好串口线和打开串口调试助手后,并且串口指示灯亮后,我们在2个串口调试助手里各自的发送框里输入AT+GETINFO(AT指令不带回车),按发送后在串口数据接收PANID=474E524C Ch=0E Pwr=-03 PMode=0002 UID=E8145F477D605155D5489643F1AAC2BD UART=0F-N Encrypt=00等基本配置参数,如下图,如果没有出现任何字符,请重新检查8.4和8.5部分。 2)为了下面通信的需要,我们要获取2块模块的MAC地址,我们只取低4字节。在发送框的输入AT+SHOWADDR并记下。这是ROUTER模块的8字节MAC地址这是C00模块的8字节MAC地址 3)用户数据的传递方式有3种,下面介绍3种传递方法。8.1写UART端口映射参数此种方式是ZigBee模块无线数据通信通用协议推荐的设备之间数据无线通信方式,此方法的优点是通信稳定可靠,不仅可以实现设备间的无线数据通信,而且可以完成参数访问和网络管理,缺点是需要与模块连接的设备都按照本协议进行修改,有一定的工作量。(详见ZigBee模块数据通信协议)下面介绍过程:如果COO模块要向ROUTER模块发送01 02 03数据,则可以使用Wirte命令向ROUTER模块的UART端口映射参数写入需要传递的数据。在COO模块相应的串口调试助手里发送框输入2A 26 41 88 00 00 00 00 00 00 29 A7 16 00 00 00 00 00 5D A0 16 00 00 00 00 00 00 00 25 38 00 00 A0 0F 00 00 03 01 02 03 92 23 并钩选,并在ROUTER模块相应的串口调试助手的接收区设置勾选。 (注意:发送指令中圈中部分为COO模块的MAC地址和ROUTER模块的MAC地址,切勿直接套用,请用户根据AT+SHOWADDR查到的实际MAC地址输入,我的COO模块低4字节MAC地址为00 16 A7 29,在输入命令的时候,请按字节反输入既29 A7 16 00。下面的5D A0 16 00为ROUTER模块的低4位的反输。切记COO发送区设置要按16进制发送,ROUTER接收区设置要选16进制接收,不然接收不到数据或者乱码。倒数第二位为效验和位,此数计算方法是从第三位到倒数第三位所有数据累加和的最低1字节。发功AT指令时,不用16进制发送,去掉勾选或者选择字符型发送)8.2带目的地址的半透传为了实现设备之间的简单数据交换,也可以用带目的地址的半透传方式来完成。具体方法是,在需要发送数据的前面,加上8个字节的目的节点的MAC地址,这样数据将被传递到目的地址所指示的设备。这种方法的优点是比较简单,数据通信通信比较可靠,缺点是只能完成设备UART端口之间的数据交换,无法实现参数访问和网络管理。事实上,无线模块从UART接收到带地址的半透传数据后,首先判断地址是否合法;如果地址合法,则将需要传递的数据,转换成一个写目的地址所指示的无线模块的UART端口映射参数的服务,从而实现数据的传递,本质上是与A方法相同的。以下例子中,两个无线模块之间通过带目的地址的半透传方式,实现了数据的交换。在需要发送的数据前面,分别加上了目的地址。注意所有模块的MAC地址高4字节固定0x0080E1028.3全透传方式全透传方式是指,无线模块从设备接收到的数据不符合8.1和8.2节所描述的数据,也不是合法的AT指令,则无线模块将把接收到的数据转换成8.1所述的写UART端口映射参数命令,传递到其他设备。对于COO而言,数据传递的目的地址是网络中的所有模块;对于其他无线模块而言,数据传递的目的地址是COO。这种方法最简单,不需要设备做任何改动就可以实现无线接入,对于已有设备的无线改造非常方便;缺点在于,由于没有指明目的节点的地址,COO在发送数据时,需要将数据都发送给网络中所有节点,会占用较大的通信带宽,因此COO数据发送的频率不能太快,否则将导致网络堵塞。以下是2个设备之间进行全透传方式的例子。以上基于2块开发板,若有3块,同样操作。