关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于TinyOS2.x的温湿度传感器的底层驱动与应用

基于TinyOS2.x的温湿度传感器的底层驱动与应用

作者:时间:2013-08-06来源:网络收藏


3 SHTxx的TinyOS设计
3.1 SHTxx传感器底层接口驱动设计
由SHTxx传感器测量时序可知,SHTxx传感器测量时序包括启动传输、发送命令、2字节数据传输以及CRC校验传输等时序部分。SHTxx温湿度传感器的TinyOS驱动代码包括SHT接口的定义SHT.nc、SHT配置组件SHTC.nc和模块组件SHTP.nc三部分。
(1)SHT温湿度传感器接口定义
在SHT温湿度传感器接口中,定义了read命令函数和ReadDone事件函数。read命令函数负责启动SHTxx温湿度传感器的测量过程,ReadDo ne事件函数则是当SHTxx温湿度传感器测量完成后触发该事件。具体代码如下:
j.JPG
(2)SHT温湿度传感器配置组件
在SHT温湿度传感器配置组件中,利用MainC组件的初始化命令完成对SHT温湿度传感器的初始化操作。HplCC2530GenerallOC组件对SHT温湿度传感器端口进行配置,定时器组件定义两次测量的时间间隔,部分代码如下:
k.JPG
(3)SHT温湿度传感器模块组件
SHT温湿度传感器模块组件完成SHT温湿度传感器数据读取的,完成对SHT温湿度传感器的时序模拟以及实现SHT接口函数。在数据读取完成后,触发ReadDone事件函数,下面主要介绍SHT温湿度传感器驱动模块中的几个与时序相关的函数。
复位时序模拟函数如下:
l.JPG
数据读取时序模拟函数如下:
recvByte(uint8_t ack)函数模拟读取数据时的时序。微处理器在读取SHTxx温湿度传感器的数据时,有两种不同的应答信号。在读取转换数据时,由微处理器将DATA线拉为低电平作为应答信号;而在读取CRC数据时,需要将DATA线拉为高电平应答信号,所以在recvByte(uint8 _t ack)函数中,ack作为两种应答信息参数进行传递。该函数返回读取的数据。
m.JPG
SHTxx温湿度传感器写数据主要为写命令字和SHTxx温湿度传感器的状态寄存器,在写命令字完成后,SHTxx温湿度传感器将控制DATA数据线,并将数据线上拉为高电平作为应答信号。写数据时序模拟函数略——编者注。
3.2 SHTxx温湿度传感器TinyOS驱动程序设计
SHTxx温湿度传感器驱动测试程序通过SHTxx温湿度SHTxx的温湿度值,显示在开发平台中的LCD屏上,程序文件包括模块组件TestSHTM.nc、配置组件TestSHTC.nc以及编译文件makefile。
TestSHTC.nc的配置文件部分代码略——编者注。SHTxx温湿度传感器驱动测试程序的组件关联图略——编者注。

4 系统测试及结论
通过Cygwin平台对应用程序进行编译和链接,生成hex文件,下载程序到目标硬件平台运行。LCD显示温湿度结果,通过测试发现,该系统能完成预期的数据功能。根据SHTxx温湿度传感器驱动的设计方法完成其他传感器的驱动设计。当然也可以利用该驱动程序,通过网络实时监控周围环境的温湿度参数。

本文引用地址:http://www.eepw.com.cn/article/159296.htm
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
风速传感器相关文章:风速传感器原理
土壤湿度传感器相关文章:土壤湿度传感器原理
温湿度控制器相关文章:温湿度控制器原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭