资源简介
基于Tiny6410,在linux上移植的DHT11温湿度测量模块驱动和简单应用程序。采用简单的GPIO实现

代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “s3c6410_gpio.h“
#define DEVICE_NAME “dht11“
#define DQ 8
#define CFG_IN 0
#define CFG_OUT 1
int dht11_major = 0;
int dht11_minor = 0;
// 定义设备类型
struct cdev cdev;
static struct class *dht11_class;
/* 函数声明 */
static int dht11_open(struct inode *inode struct file *filp);
static ssize_t dht11_read(struct file *filp char __user *buf
size_t count loff_t *f_pos);
static int dht11_release(struct inode *inode struct file *file);
unsigned char dht11_read_byte(void);
/******************************************************************************************************
** 函数名称: dht11_open()
** 函数功能: 打开设备,初始化dht11
** 入口参数: inode:设备文件信息; filp: 被打开的文件的信息
** 出口参数: 成功时返回0失败返回-1
** 备 注:
******************************************************************************************************/
static int dht11_open(struct inode *inode struct file *filp)
{
printk(KERN_ERR “open sht11 success \n“);
return 0;
}
//读取dht11发送的8位数据
unsigned char dht11_read_byte(void)
{
int i=0;
int num;
unsigned char flag=0;
unsigned char data=0;
for(num=0;num<8;num++)
{
i=0;
while(!s3c6410_gpio_getpin(DQ))
{
udelay(10);
i++;
if(i>10)
break;
}
flag=0x0;
udelay(28);
if(s3c6410_gpio_getpin(DQ))
{
flag=0x01;
}
i=0;
while(s3c6410_gpio_getpin(DQ))
{
udelay(10);
i++;
if(i>12)
break;
}
data<<=1;
data|=flag;
}
return data;
}
/******************************************************************************************************
** 函数名称: dht11_read()
** 函数功能: 读出dht11
** 入口参数:
******************************************************************************************************/
static ssize_t dht11_read(struct file *filp char __user *buf
size_t count loff_t *f_pos)
{
int i=0err;
unsigned char bufe[6]={0x00x00x00x00x00x0};
s3c6410_gpio_cfgpin(DQ CFG_OUT);
s3c6410_gpio_setpin(DQ 1);
udelay(2);
s3c6410_gpio_setpin(DQ
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6648 2016-09-05 16:12 dht11.c
文件 101051 2016-09-05 16:13 dht11_t.ko
文件 609 2016-09-05 16:12 dht11_test.c
文件 8043 2016-09-05 16:13 dht11_test.test
文件 1478 2016-08-29 10:05 s3c6410_gpio.h
文件 527170 2012-02-14 19:01 DHT11说明书最新版.pdf
- 上一篇:AdaBoost实战代码
- 下一篇:五点差分格式解泊松方程和拉普拉斯方程
相关资源
- uboot到linux logo显示不间断 补丁
- UNIX/LINUX编程实践教程的源码
- Linux任务管理器
- linux应用层的华容道游戏源代码
- ubuntu9.10 可加载内核模块和字符设备驱
- MP3文件ID3v2ID3v2APEv2标签读取
- 操作系统实验——虚存管理实验
- linux下的发包工具sendip
- 尚观培训linux许巍关于c 的笔记和讲义
- 尚观培训linux董亮老师关于数据结构的
- linux 线程池源码 c 版
- linux C 电梯程序练习
- linux下用多进程同步方法解决生产者
- Linux 操作系统实验(全)
- Linux From Scratch 中文手册
- linux 网络实验 ftp程序
- Linux命令大全离线版&在线版
- 操作系统共享内存实验
- dos 下运行Linux 命令--gnu_utils
- linux 0.12内核源代码
- linux简易shell C实现
- linux实验报告及心得体会
- 基于GTK的Linux环境下的简易任务管理器
- linux扫雷游戏代码
- CAN Linux驱动代码
- Linux系统教材
- intel 82579LM 网卡驱动Linux系统版 v1.9.
- SA1110处理器掌上电脑液晶显示器设计
- 基于Linux的串口服务器设计
- Windows下访问LINUX的利器-SSH
评论
共有 条评论