第5章 TinyOS应用开发 5.1 概述 TinyOS应用开发是学习TinyOS的核心,是直接面向用户的,本章将从以下两个方面讲解TinyOS的开发技术: TinyOS的编程方法:包括在TinyOS开发过程中所使用的与平台相关的硬件资源的编程方法以及与平台相关的应用编程方法。 TinyOS特殊的实例编程:包括基于CC2530的串口通信、无线射频的点对点通信和CC2530芯片ADC的信息采集。 5.2 TinyOS编程方法 由于TinyOS的体系结构采用分层式结构,因此TinyOS的编程的基本思想也基于分层结构,即上层调用下层,其分层结构大致可以分为底层驱动层、中间层和应用层,其结构如图5-1所示。 图5-1 TinyOS编程分层结构 5.3 串口通信 本节将讲解TinyOS操作系统的CC2530与PC机串口通信,包括CC2530串口的配置、串口通信相关组件及接口的使用以及TinyOS操作系统下串口通信协议的分析。另外本节还通过两个串口的实例讲解串口的用法。5.3.1 串口配置 在TinyOS操作系统中,平台采用的芯片配置同样由组件和接口来完成。本书中采用CC2530的串口0进行传输,完成CC2530串口相关配置的组件为底层组件HplCC2530UartP组件。HplCC2530UartP组件位于“cygwin\opt\mytinyos\tos\ chips\cc2530\uart\”目录中,其主要代码如代码5-1所示。 【代码5-1】 HplCC2530UartP.nc module HplCC2530UartP { //串口初始化接口 provides interface Init as Uart0Init; //TX控制接口 provides interface StdControl as Uart0TxControl; //RX控制接口 provides interface StdControl as Uart0RxControl; //串口发送接收设置接口 provides interface HplCC2530Uart as HplUart0; uses interface McuPowerState; } 在HplCC2530UartP文件中对串口进行初始化,并且设置了用户所需要的波特率。在本节内容中,将波特率设置为57600,具体代码如代码5-2所示。 【代码5-2】 HplCC2530UartP.nc /*串口的初始化*/ command error_t Uart0Init.init() { //采用串口备用位置1 PERCFG = ~0x01; //选择P0口作为串口 P0SEL = 0x3c; // 0011 1100 //采用UART模式,接收使能 U0CSR |= 0x80 | 0x40; /*串口波特率的设置采用57600*/ U0GCR = 0x0b; U0BAUD = 216; return SUCCESS; } 5.3.2 通信帧格式 TinyOS 2.x为串口通信提供了专用通信协议,即HDLC协议帧,其以0x7e作为帧分隔字符,0x7d作为转义字符。在TinyOS 2.x的串口通信组件中维护了10个状态位,接收路径和发送路径各有一个状态位,用于表示是否使用转义符(有关HDLC帧格式以及相关内容请参照实践4的知识拓展)。 TinyOS 2.x串口协议数据帧具体格式如图5-2所示。 图5-2 串口协议数据帧格式 5.3.3 相关组件及接口 TinyOS 2.x版本的串口协议栈可以划分为5个功能组件,自底层至上层分别是原始串口组件、编码/装帧组件、协议组件、分派组件和用户接口组件。其组件关系如图5-3所示。 图5-3 串口组件关系 1. 原始串口组件 在TinyOS 2.x版本中原始串口组件为串口的硬件接口层组件,位于平台目录tos/platforms下。一般情况此组件的命名与平台相关,不同的平台命名方式不同。本书以mytinyos平台为例讲解。 原始串口组件在mytinyos平台中名为PlatformSerialC,其位于“mytinyos\tos\platforms\ cc2530”目录下。在项目的开发过程中,可以调用此组件通过串口直接将硬件平台的数据输出至PC机,即数据并没有被TinyOS封装成串口数据帧格式。此组件提供的接口如代码5-3所示。 【代码5-3】 PlatformSerialC.ncconfiguration PlatformSerialC { provi
您可能关注的文档
- Photoshop CS 5基础与实例教程第4章应用图层编辑图像的基础.ppt
- Photoshop CS 5基础与实例教程第5章图像绘制工具.ppt
- Photoshop CS 5基础与实例教程第6章修饰与仿制工具运用.ppt
- Photoshop CS 5基础与实例教程第7章路径与形状运用.ppt
- Photoshop CS 5基础与实例教程第8章文字处理.ppt
- Photoshop CS 5基础与实例教程第9章图像的色彩和色调运用.ppt
- Photoshop CS 5基础与实例教程第10章蒙版.ppt
- Photoshop CS 5基础与实例教程第11章通道.ppt
- Photoshop CS 5基础与实例教程第12章滤镜的应用.ppt
- Photoshop CS 5基础与实例教程第13章Photoshop高级应用.ppt
- 2025江西吉安吉州区北门街道真君山社区招聘就业见习人员1人参考题库附答案解析.docx
- 2026年廉政从业知识测试题参考答案.docx
- 2025广信区人民法院公开招聘14人备考题库必考题.docx
- 2026年干部提拔廉政知识测试题及答案(全国通用).docx
- 2025年新能源微电网在智慧农业领域的示范项目可行性分析.docx
- 自动化立体库2025:物流仓储技术革新可行性研究报告.docx
- 2026年医疗AI影像诊断行业报告.docx
- 2026年虚拟现实技术在教育培训创新应用报告.docx
- 2026年文化传媒行业创新报告及未来五年发展趋势报告.docx
- 2025年环保型包装设备生产项目可持续发展战略与技术方案研究.docx
最近下载
- 银行消防演练预案银行消防应急演练方案.docx VIP
- 聚酰胺纤维染色用染料亲和聚酰胺纤维染色用染料亲和型匀染剂.PDF VIP
- 数据保护安全解决方案模板.doc VIP
- TCESA-2024-075《类脑计算芯片测试方法》.pdf VIP
- 2025最新小学五年级语文上册“病句修改”专项突破训练.docx
- 上海能做危险品国际运输的货代,一般要满足哪些硬性条件?.docx VIP
- DB31T 1455-2023 青少年社会工作服务实施指南.pdf VIP
- 银行消防演练预案银行消防应急演练方案.doc VIP
- 区域性矿山隐蔽致灾因素普查报告编制工作方案投标文件(技术方案).doc
- 计量支付监理实施细则.docx VIP
原创力文档

文档评论(0)