无线传感器网络实验报告模板.doc_第1页
无线传感器网络实验报告模板.doc_第2页
无线传感器网络实验报告模板.doc_第3页
无线传感器网络实验报告模板.doc_第4页
无线传感器网络实验报告模板.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.无线传感器网络实验报告 专业 计算机科学与技术 班级 13级计科1班 学号 姓名 目 录实验一 CC2530 I/O基础实验 实验二 CC2530按键中断实验三 CC2530定时器的使用实验四 串行通信接口发送与接收实验五 Zigbee点到点无线通信实验六 Zigbee串口实验实验七 无线温度检测实验实验八 Zigbee组网实验实验一 CC2530 I/O基础实验一、 实验目的1.掌握IAR编译软件界面的功能;2.掌握配置通用IO寄存器的方法;3.掌握如何编写代码及程序下载。二、 实验内容1.使用CC2530的IO来控制LED灯循环闪烁;2.判断按键是否被按下,如果按下,改变LED灯的状态,原先亮的灯灭,原先灭的亮,如此循环下去。三、 相关知识点 cc2530有21个可编程的I/O引脚,P0、P1口是完全的8位口,P2口只有5个可使用的位。通过软件设定一组SFR寄存器的位和字节,可使这些引脚作为通常的I/O口或作为连接ADC、计时器或USART部件的外围设备I/O口使用。2.I/O口特性:(1)可设置为通常的I/O口,也可设置为外围I/O口使用;(2)在输入时有上拉和下拉能力;(3)全部21个数字I/O口引脚都具有影响外部的中断事件也能被用来唤醒休眠模式。3.I/O端口的寄存器如下:P0:端口0 P1:端口1 P2:端口2PERCFG:外设控制寄存器 APCFG:模拟外设I/O配置P0SEL:端口0功能选择寄存器 P1SEL:端口1功能选择寄存器P2SEL:端口2功能选择寄存器 P0DIR:端口0方向寄存器P1DIR:端口1方向寄存器 P2DIR:端口2方向寄存器P0INP:端口0输入模式寄存器 P1INP:端口1输入模式寄存器P2INP:端口2输入模式寄存器 P0IFG:端口0中断状态标志寄存器P1IFG:端口1中断状态标志寄存器P2IFG:端口2中断状态标志寄存器 PICTL:中断边缘寄存器P0IEN:端口0中断掩码寄存器 P1IEN:端口1中断掩码寄存器P2IEN:端口2中断掩码寄存器 PMUX:掉信号Mux寄存器OBSSEL0:观察输出控制寄存器0 OBSSEL1:观察输出控制寄存器1OBSSEL2:观察输出控制寄存器2 OBSSEL3:观察输出控制寄存器3OBSSEL4:观察输出控制寄存器4 OBSSEL5:观察输出控制寄存器5四、 实验步骤1.启动IAR;2.新建一个IAR工作区,或者打开一个IAR工作区;3.连接CC Debugger调试器和ZigBee模块、连接CC Debugger到计算机,安装驱动;4.设置项目参数;5.编写、编译、下载程序。五、 实验源程序 /*/I/O口轮流控制2个LED循环点亮/*#include #define uint unsigned int#define uchar unsigned char/定义控制灯的端口#define RLED P1_0/定义LED1为P10口控制#define YLED P1_1/定义LED2为P11口控制#define K1 P2_0/函数声明void Delay(uint);/延时函数void InitialLed(void);/初始化P1口void InitialKey(void);/*/延时*/void Delay(uint n)uint tt;for(tt = 0;ttn;tt+);for(tt = 0;ttn;tt+);for(tt = 0;ttn;tt+);for(tt = 0;ttn;tt+);for(tt = 0;ttn;tt+);/*/初始化程序*/void InitialLed(void)P1DIR |= 0x03; /P10、P11定义为输出RLED = 1;YLED = 1;/LEDvoid InitialKey(void)P2SEL&=0X01;P2DIR &=0X01;P2INP |= 0X00;/*/主函数*/void main(void)InitialLed();/调用初始化函数InitialKey();RLED = 0;/LED1YLED = 0;/LED2while(1)if (k1 = 0)delay(100);if (k1=0)while (k1=0);YLED = !YLED;Delay(10000);YLED = !YLED;RLED = !RLED;Delay(50000);Delay(50000);六、 实验结果和过程截图七、 实验小结 1.cc2530通用IO使用需要配置相关寄存器;2.cc2530通用IO寄存器的类型以及每个类型如何配置;3.I/O端口具备如下特性:(1)21个数字I/O引脚;(2)可以配置为通用I/O或外部设备I/O;(3)输入口具备上拉或下拉能力;(4)具有外部中断能力。实验二 CC2530按键中断一、 实验目的1.理解中断处理机制;2.掌握通用I/O端口中断处理方法。二、 实验内容 用中断方式来判断按键是否被按下,如果按下,改变LED灯的状态,原先亮的灯灭,原先灭的灯亮,如此循环下去。三、 相关知识点1.中断概述:cc2530有18个中断源,每个中断源都有它自己的位于一系列寄存器中的中断请求标志,每个中断可以分别使能或禁用;2.中断屏蔽:每个中断请求可以通过设置中断使能寄存器IEN0,IEN1或者IEN2的中断使能位使能或禁止。注意某些外部设备有若干事件,可以产生与外设相关的中断请求。这些中断请求可以作用在端口0、端口1、端口2、定时器1、定时器2、定时器3、定时器4和无线电上。对于每个内部中断源对应的SFR寄存器,这些外部设备都有中断屏蔽位;3.中断使能的步骤:总中断使能;端口中断使能;位中断使能;触发沿设置。中断处理程序格式:#pragama vector=中断向量interrupt void 任意函数名/中断处理,处理完成后通常需要清除中断;四、 实验步骤1. 启动IAR;2. 新建一个IAR工作区,或者打开一个IAR工作区,新建project;3. 根据预备知识编写程序,编译程序;4. 设置项目参数;5. 连接CC Debugger调试器和ZigBee模块,下载程序,测试其运行效果;6. 分析总结代码。五、 实验源程序/头文件的包含和宏定义#include #define uint unsigned int#define uchar unsigned char/定义控制灯的端口#define RLED P1_0 /定义LED1为P10口控制#define YLED P1_1 /定义LED2为P11口控制#define KEY1 P2_0 /定义按键为P20口控制/函数声明void Delay(uint);/延时函数声明void InitialLed(void);/初始化函数声明void InitKey(void); /初始化按键函数声明/*/延时*/void Delay(uint n)uint i;for(i = 0;in;i+);for(i = 0;in;i+);for(i = 0;in;i+);for(i = 0;in;i+);for(i = 0;i0) /按键中断 RLED =!RLED; YLED =!YLED; P2IFG = 0; Delay(100); P2IF = 0; /清中断标志 /*/主函数*/void main(void) InitalLed(); InitKeyINT(); /调用初始化函数 while(1) 六、 实验结果和过程截图七、 实验小结 1. 当按键KEY按下时,因为KEY所对应的I/O口为P2_0,所以P2端口将会发出一个中断请求,并自动将P2IFG寄存器对应位(即D0位)置1,等待CPU响应;2. CPU在执行完一条指令之后就会检测是否有中断请求,如果检测到中断请求并且IEN2的D1位为1和P2IEN的D0为1时,对应的中断使能位中断使能,则根据中断类型号获得中断向量,根据中断向量得到中断服务子程序的地址,执行终端服务子程序。当中断服务子程序执行完毕后返回执行原来的程序。实验三 CC2530定时器的使用一、 实验目的1. 熟悉cc2530单片机定时器基本功能;2.掌握cc2530单片机定时器1的配置方法。二、 实验内容 以查询方式查看Timer1是否有溢出,让它来控制LED1、LED2灯以1s的时间间隔轮流闪烁。三、 相关知识点1.cc2530定时器的基本功能:实质是实现计数,在每个活动时钟边沿递增或者递减。活动时钟边沿由寄存器位CLKCON.TICKSPD定义,它设置全球系统始终的划分,提供了从0.25MHz到32MHz的不同的时钟标签频率(可以使用32MHz XOSC作为时钟源);2.cc2530定时器T1的基本功能:定时器T1是一个独立的16位定时器,支持典型的定时/计数功能,比如输入捕获,输出比较和PWM功能。定时器有五个独立的捕获/比较通道。每个通道定时器使用一个I/O引脚。定时器用于范围广泛的控制和测量应用,可用的五个通道的正计数/倒计数模式将允许诸如电机控制应用的实现;3.定时器T1的寄存器,由以下几个组成:T1CTL-定时器1控制T1STAT-定时器1状态T1CNTH-定时器1计数高位T1CNTL-定时器1计数地位T1CCTLn-定时器1通道n捕获/比较控制T1CCnH-定时器1通道n捕获/比较高位值T1CCnL-定时器1通道n捕获/比较低位值四、 实验步骤1. 启动IAR;2. 新建一个IAR工作区,或者打开一个IAR工作区,新建project;3. 根据预备知识编写程序,编译程序;4. 设置项目参数;5. 连接CC Debugger调试器和ZigBee模块,下载程序,测试其运行效果;6. 分析总结代码。五、 实验源程序 /*定时器T1控制闪灯实验(T1 计数溢出两次小灯轮闪一次)/*#include #define uint unsigned int#define uchar unsigned char#define YLED P1_0#define RLED P1_1uint counter=0;/统计溢出次数uint TempFlag=0;/用来标志是否要闪灯void Initial(void);void Delay(uint);/*/初始化程序*/void Initial(void) /初始化P1 P1DIR = 0x03; /P10 P11为输出 RLED = 1; YLED = 1;/灭LED /用T1来做实验 T1CTL = 0x0d;/通道0,中断有效,128分频;自动重装模式(0x0000-0xffff); / T1CTL = 0x39;/通道0,中断有效,32分频;自动重装模式(0x0000-0xffff); /T1STAT = 0x21; T1CCTL0 = 0X02;/*/主函数*/void main() Initial(); /调用初始化函数 RLED = 0; /点亮红色LED while(1) /查询溢出 if(IRCON 0) IRCON = 0;/清溢出标志 counter+; if (counter =2) TempFlag = !TempFlag;/闪灯标志取反 if(TempFlag) /如果有闪灯标志,闪灯!同时红灯和上周期不同 YLED = RLED; counter =0; Delay(6000); Delay(6000); RLED = !RLED; Delay(6000); /*/普通延时程序*/void Delay(uint n) uint i; for(i=0;in;i+); for(i=0;in;i+); for(i=0;in;i+); for(i=0;in;i+); for(i=0;in;i+);六、 实验结果和过程截图七、 实验小结 1.cc2530定时器的使用需要配置相关寄存器;2.cc2530定时器的寄存器类型以及每个类型如何配置;3.定时器1的功能如下:(1) 五个捕获/比较通道;(2) 上升沿、下降沿或任何边沿的输入捕获;(3) 设置、清除或切换输出比较;(4) 自由运行、模或正计数/倒计数操作;(5) 可被1,8,32,或128整除的时钟分频器;(6) 在每个捕获/比较和最终计数上生成中断请;(7) DMA触发功能。实验四 串行通信接口发送与接收一、 实验目的1. 了解cc2530串口的功能;2. 掌握cc2530通过串口往电脑发送数据。二、 实验内容 由cc2530单片机串口发送hello,在pc机用串口工具观察数据接收。三、 相关知识点实验程序编写:(1) 配置串行通信接口usart0的位置(可采用默认值),并设置优先级为最高;(2) 配置串行通信接口usart0的工作模式,一般工作模式为uart;(3) 配置串行通信接口连接引脚的IO功能,设置其为连接外设;(4) 配置串行通信接口的波特率。四、 实验步骤1. JLINK8和传感器节点相连,下载串口控制程序;2. 运行串口调试助手,进行相应设置;3. 启动IAR,编写实验程序,连接CCDEBUG和CC2530,编写实验程序;4. 观察实验结果。五、 实验源程序 #include #include #include #define uint unsigned int#define uchar unsigned char#define led1 P1_0#define led2 P1_1 /#define key P2_0char TXData25;/延时函数;void delay(uint n) uint i; for (i =0;i n;i+); for (i =0;i n;i+); for (i =0;i n;i+); for (i =0;i n;i+); for (i =0;i n;i+);/串口初始化函数void inituartsend(void) /设置系统的主时钟源; CLKCONCMD &=0x40; /等待时钟稳定; while(CLKCONSTA &0x40); /设置系统时钟的主频率; CLKCONCMD &=0x47; /设置串口的位置为0,即使用P0口的2345引脚; PERCFG &=0x01; /将P0口的2345引脚功能设置为连接外设; P0SEL |= 0x3C; /设置串口的通信模式为异步通信; U0CSR |= 0x80; /设置串口的波特率为57600; U0GCR |= 10; U0BAUD |= 216; /开中断,将串口发送使能;并清零串口发送中断标志位; EA =1; IEN2 |=0x04; UTX0IF = 0; /初始化与LED灯相关的寄存器; P1DIR |= 0x03;/发送函数;void uarttx_send_string(char *data, int len) int j; for(j=0;jlen;j+) U0DBUF = *data+; / while(UTX0IF = 0); /UTX0IF =0; / printf(%d,UTX0IF); while (UTX0IF = 0); UTX0IF = 0; led1 = !led1; delay(50000); led2 = !led2; main () /初始时关闭LED灯; led1 =1; led2 =1; /调用此函数对串口0进行初始化; inituartsend(); strcpy(TXData,hello); while(1) uarttx_send_string(TXData,sizeof(hello); delay(5000); 六、 实验结果和过程截图七、 实验小结 1. cc2530配置串口的一般步骤:(1) 配置IO,使用外部设备功能;(2) 配置串口的控制和状态寄存器;(3) 配置串口工作的波特率。2. 注意以下三点:(1) 由于使用异步Uart模式,数据传输速度是比较慢的;(2) CC2530有4个时钟,分别为:内部32KHz RC Oscillator和外部32.768KHz晶振,还有内部自带的16MHz RC oscillator和32MHz crystal oscillator。CC2530的系统时钟system clock可选择外部32MHz crystal oscillator,或者内部自带的16MHz RC oscillator,但是RF工作时必须选择32MHz crystal oscillator。另外,CC2530的32KHz Clock可以选择外部的32.768KHz,或者内部32KHz RC Oscillator,32KHz时钟最主要使用在Sleep Timer和Watchdog Timer上。上电运行的时候先用的是内部自带的16MHz RC oscillator,因为RC的起振时间短,正常运行后再换成32MHz,用于RF;(3) 为了提高通信的效率,我们需要提高系统的时钟,所以,本实验配置系统时钟为32MHz。实验五 Zigbee点到点无线通信一、 实验目的1.掌握zigbee协议栈的安装、编译与下载;2.了解数据传输的基本过程。二、 实验内容 两个Zigbee节点进行点对点通信,Zigbee节点2发送LED三个字符,Zigbee节点1收到数据后,对接收到的数据进行判断,如果收到的数据是LED,使得开发板上的LED灯闪烁。三、 相关知识点1. Z-Stack协议栈的简介(1) Z-Stack是TI公司开发的Zigbee协议栈,其实际上是帮助程序员方便开发Zigbee的一套系统;(2) 使用IAR Embedded Workbench for 8051作为它的集成开发环境;(3) 提供了操作系统抽象层OSAL,用户在进行具体的应用开发时只能够通过调用API来进行;(4) 用户对Zigbee无线网络的开发简化为应用层的C语言程序开发,用户不需要深入研究复杂的Zigbee协议栈。2. Z-Stack协议栈基本概念(1) 设备类型协调器,路由器,终端设备(2) 信道(3) PANID(4) 地址(5) 数据传输方式(6) 端点(7) 拓扑结构(8) 簇(9) 路由3. Z-Stack的下载与安装TI公司官方网站上下载和安装,下载完成之后,解压得到.exe文件,进行安装,路径选择默认。四、 实验步骤1. 编写协调器的代码;2. 编写终端节点的代码;3. 打开工程程序,选择EndDeviceEB-Pro编译后将程序下载到zigbee节点2;4. 打开协调器电源开关,后打开终端节点电源开关,观察试验现象。五、 实验源程序 Coordinator.h#ifndef COORDINATOR_H#define COORDINATOR_H#include ZComDef.h#define GENERICAPP_ENDPOINT 10#define GENERICAPP_PROFID 0X0F04#define GENERICAPP_DEVICEID 0X0001#define GENERICAPP_DEVICE_VERSION 0#define GENERICAPP_FLAGS 0#define GENERICAPP_MAX_CLUSTERS 1#define GENERICAPP_CLUSTERID 1extern void GenericApp_Init(byte task_id);extern UINT16 GenericApp_ProcessEvent(byte task_id,UINT16 events);#endifCoordinator.c#include OSAL.h#include AF.h#include ZDApp.h#include ZDObject.h#include ZDProfile.h#include #include coordinator.h#include DebugTrace.h#if !defined(WIN32)#include OnBoard.h#endif#include hal_lcd.h#include hal_led.h#include hal_key.h#include hal_uart.h const cId_t GenericApp_ClusterListGENERICAPP_MAX_CLUSTERS=GENERICAPP_CLUSTERID;const SimpleDescriptionFormat_t GenericApp_SimpleDesc=GENERICAPP_ENDPOINT,GENERICAPP_PROFID,GENERICAPP_DEVICEID,GENERICAPP_DEVICE_VERSION,GENERICAPP_FLAGS,GENERICAPP_MAX_CLUSTERS,(cId_t *)GenericApp_ClusterList,0,(cId_t *)NULL;endPointDesc_t GenericApp_epDesc;byte GenericApp_TaskID;byte GenericApp_TransID;void GenericApp_MessageMSGCE(afIncomingMAGPacket_t *pckt);void GenericApp_SendTheMessage(void);void GenericApp_Init(byte task_id) GenericApp_TaskID= task_id; GenericApp_TransID= 0; GenericApp_epDesc.endPoint = GENERICAPP_ENDPOINT; GenericApp_epDesc.task_id = &GenericApp_TaskID; GenericApp_epDesc.simpleDesc= (SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc; GenericApp_epDesc.latercyReq = noLatencyReqs; afRegister(&GenericApp_epDesc);UINT16 GenericApp_ProcessEvent(byte task_id,UINT16 events) afIncomingMSGPacket_t *MSGpkt; if(events &SYS_EVENT_MSG) MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive(GenericAPP_TaskID); while(MSGpkt) switch(MSGpkt-hdr.event) case AF_INCOMING_MSG_CMD: GenericApp_MessageMSGCB(MSGpkt); break; default: break; osal_msg_deallocate(uint8 *)MSGpkt); MSGpkt= (afIncomingMSGPacket_t *)osal_msg_receive(GenericApp_TaskID); return (events SYS_EVENT_MSG); return 0;void GenericApp_MessageMSGCB(afIncomingMSGPacket_t *pkt) unsigned char buffer4= ; switch(pkt-clusterId) case GENERICAPP_CLUSTERID: osal_memcpy(buffer,pkt-cmd.Data,3); if(buffer0 = L)&(buffer1=E)&(buffer2=D) HalLedBlink(HAL_LED_2,0,50,500); else HalLedSet(HAL_LED_2,HAL_LED_MODE_ON); break; Enddevice.c#include OSAL.h#include AF.h#include ZDApp.h#include ZDObject.h#include ZDProfile.h#include #include coordinator.h#include DebugTrace.h#if !defined(WIN32)#include OnBoard.h#endif#include hal_lcd.h#include hal_led.h#include hal_key.h#include hal_uart.h const cId_t GenericApp_ClusterListGENERICAPP_MAX_CLUSTERS= GENERICAPP_CLUSTERID;const SimpleDescriptionFormat_t GenericApp_SimpleDesc= GENERICAPP_ENDPOINT, GENERICAPP_PROFID, GENERICAPP_DEVICEID, GENERICAPP_DEVICE_VERSION, GENERICAPP_FLAGS, 0, (cId_t *)NULL, GENERICAPP_MAX_CLUSTERS, (cId_t *)GenericApp_ClusterList;endPointDesc_t GenericApp_epDesc;byte GenericApp_TaskID;byte GenericApp_TransID;devStates_t GenericApp_NwkState;void GenericApp_MessageMSGCE(afIncomingMAGPacket_t *pckt);void GenericApp_SendTheMessage(void);void GenericApp_Init(byte task_id) GenericApp_TaskID= task_id; GenericApp_NwkState= DEV_INIT; GenericApp_TransID= 0; GenericApp_epDesc.endPoint = GENERICAPP_ENDPOINT; GenericApp_epDesc.task_id = &GenericApp_TaskID; GenericApp_epDesc.simpleDesc= (SimpleDescriptionFormat_t *)&GenericApp_SimpleDesc; GenericApp_epDesc.latercyReq = noLatencyReqs; afRegister(&GenericApp_epDesc);UINT16 GenericApp_ProcessEvent(byte task_id,UINT16 events) afIncomingMSGPacket_t *MSGpkt; if(events &SYS_EVENT_MSG) 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) GenericApp_SendTheMessage(); break; default: break; osal_msg_deallocate(uint8 *)MSGpkt); MSGpkt= (afIncomingMSGPacket_t *)osal_msg_receive(GenericApp_TaskID); return (events SYS_EVENT_MSG); return 0;void GenericApp_SendTheMessage(void) unsigned char theMessageData4=LED; afAddrType_t my_DstAddr; my_DstAddr.addrMode = (afAddrMode_t)Addr16Bit; my_DstAddr.endPoint = GENERICAPP_ENDPOINT; my_DstAddr.addr.shortAddr= 0x0000; AF_DataRequest(&my_DstAddr,&GenericApp_epDesc, GENERICAPP_CLUSTERID, 3, theMessageData, &GenericApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS); HalLedBlink(HAL_LED_2,0,50,500);六、 实验结果和过程截图七、 实验小结 1. 数据发送步骤:(1) 任务初始化(登记任务号、设置编号、发送时间);(2) 设置发送内容;(3) 执行任务(自动周期性的发送)。2. 数据接收步骤:接收数据。实验六 Zigbee串口实验一、 实验目的1. 掌握zigbee协议栈中串口的应用;2. 进一步熟悉z-stack开发的基本流程。二、 实验内容1. PC机通过串口向开发板发送数据,开发板接收到数据后发送给pc机串口显示;2. 终端节点周期性向协调器发送字符串“enddevice”,协调器收到该字符串后,通过串口将其输出到用户PC机中。三、 相关知识点1. Zigbee协议栈中对串口初始化等函数均做了实现,所以用户传递几个参数就可以使用串口;2. Zigbee协议栈中提供的与串口操作相关的三个函数为uint8 HalUARTOpen(uint8 port,halUARTCfg_t *config);unit16 HalUARTRead(uint8port,uint8 *buf,uint16 len);unit16 HalUARTWrite(uint8port,uint8 *buf,uint16 len)。四、 实验步骤1. 改动coordinator.c的代码,添加缓冲区的定义和串口的初始化;添加串口读写函数;2. 右击工程名称,在弹出的下拉菜单中选择options,选择c/c+ compiler标签,选择preprocessor标签,在defined symbols下拉列表中输入“HAL_UART=TRUE”;3. 通过j-link下载串口控制程序到传感器节点底板中;将程序编译通过ccdebug下载到cc2530EB开发板中,设置串口调试助手,在输入栏中输入字符串,点击发送按钮,观察接收栏中实验结果。五、 实验源程序 Uartcoordinator.c#include OSAL.h#include AF.h#include ZDApp.h#include ZDObject.h#include ZDProfile.h#include #include coend.h#include DebugTrace.h#if !defined(WIN32)#include OnBoard.h#endif#include hal_lcd.h#include hal_led.h#include hal_key.h#include hal_uart.h const cId_t GenericApp_ClusterListGENERICAPP_MAX_CLUSTERS= GENERICAPP_CLUSTERID;const SimpleDescriptionFormat_t GenericApp_SimpleDesc= GENERICAPP_ENDPOINT, GENERICAPP_PROFID, GENERICAPP_DEVICEID, GENERICAPP_DEVICE_VERSION, GENERICAPP_FLAGS, GENERICAPP_MAX_CLUSTERS, (cId_t *)GenericApp_ClusterList, 0, (cId_t *)NULL;endPointDesc_t GenericApp_epDesc;byte GenericApp_TaskID;byte GenericApp_TransID;unsigned char uartbuf128;void GenericApp_MessageMSGCB(afIncomingMSGPacket_t *pckt);void GenericApp_SendTheMessage(void);static void rxCB(uint8 port,uint8 event);void GenericApp_Init(byte task_id) halUARTCfg_t uartConfig; GenericApp_TaskID= task_id; GenericApp_Tran

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论