资源简介
基于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实战代码
- 下一篇:五点差分格式解泊松方程和拉普拉斯方程
相关资源
- LINUX SVN双机热备份shell脚本 附配置文
- linux系统安全检测
- linux语音传输系统
- Linux下Qt开发的中国象棋
- 基于Arduino的DHT11库文件
- jz2440的DHT11驱动 +QT5.6的温湿度监测系
- linux多线程+UDP网络通信总结+程序
- 操作系统实验报告(进程,文件系统
- Arduino-DHT11温湿度传感器库文件
- 五子棋 linux下c语言编写
- DHT11库文件
- vsftpd-2.3.4
- Linux内核链表实现多客户端连接服务器
- linux-FTP客户端(纯C代码)
- dht11 k60.zip
- Linux设备NDIS调试步骤.rar
- linux-cmd.zh
- ftp-0.17-51.1.el6.x86_64.rpm
- 嵌入式ARM ,Linux,GPS导航
- 基于内核的Linux键盘记录器
- 北邮2017研究生linux期末作业源代码
- Linux面试宝典大全+答案
- Linux下安装GTK
- linux I2C工具i2c-tools-3.0.2.tar.bz2
- linux进程监控和进程守护程序
- QT串口通讯(linux)
- linux网络编程课程设计
- dht11的12864显示程序
- linux下的实时语音聊天程序源码adpcm编
- 纯C实现语音合成支持windows和linux,亲
评论
共有 条评论