当前位置: 首页 > news >正文

wordpress360网站卫士深圳做网站seo

wordpress360网站卫士,深圳做网站seo,网站制作一条龙,自己做开箱网站单总线:只用一根线。 复位信号:设置为输出模式,低电平20ms,然后再拉高30us。然后设置为输入模式,dht11会先拉低80us,然后拉高80us表示对接成功 数据0:开始先拉低50us,然后拉高26~28u…

单总线:只用一根线。

复位信号:设置为输出模式,低电平20ms,然后再拉高30us。然后设置为输入模式,dht11会先拉低80us,然后拉高80us表示对接成功

数据0:开始先拉低50us,然后拉高26~28us表示0

数据1:开始拉低50us,然后拉高70us表示1

每传输一位的数据都要间隔一个拉低50us

梳理一下时序:

应用程序:

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/module.h>
#include <asm/io.h>
#include <asm/string.h>
#include <asm/uaccess.h>
#include <linux/miscdevice.h>
#include <asm-generic/errno-base.h>
#include <mach/gpio-nrs.h>
#include <mach/gpio.h>
#include <linux/delay.h>#define DEV_NAME "dht11"
#define PIN_DHT11 S3C2410_GPF(6)static void dht11_start(void)
{gpio_request(PIN_DHT11, "pin_dht11");gpio_direction_output(PIN_DHT11, 1);msleep(40);gpio_set_value(PIN_DHT11, 0);mdelay(18);gpio_set_value(PIN_DHT11, 1);udelay(30);gpio_direction_input(PIN_DHT11);
}static int dht11_wait_respon(void)
{int time = 100;while((time > 0) && gpio_get_value(PIN_DHT11)){udelay(1);time--;}if(time <= 0){printk("dht11_wait_respon   1\n");return -1;}time = 100;while((time > 0) && (!gpio_get_value(PIN_DHT11))){udelay(1);time--;}if(time <= 0){printk("dht11_wait_respon   2\n");return -1;}time = 100;while((time > 0) && gpio_get_value(PIN_DHT11)){udelay(1);time--;}if(time <= 0){printk("dht11_wait_respon   3\n");return -1;}return 0;
}static int get_bit(void)
{int time = 100;while((time > 0) && (!gpio_get_value(PIN_DHT11))){udelay(1);time--;}if(time <= 0){printk("get_bit   1\n");return -1;}udelay(30);if(0 == gpio_get_value(PIN_DHT11))return 0;time = 100;while((time > 0) && gpio_get_value(PIN_DHT11)){udelay(1);time--;}if(time <= 0){printk("get_bit   2\n");return -1;}return 1;
}static int dht11_get_data(unsigned char * data)
{int i = 0;int j = 0;for(j = 0; j < 5; j++){for(i = 0; i < 8; i++){char tmp = 0;data[j] <<= 1;tmp = get_bit();	if(tmp < 0)return -1;data[j] |= tmp;}}return 0;
}static int open (struct inode * inode, struct file * file)
{printk("dht11 open ...\n");return 0;
}static ssize_t read (struct file * file, char __user * buf, size_t len, loff_t * offset)
{int ret = 0;unsigned char data[5] = {0};dht11_start();ret = dht11_wait_respon();if(ret < 0)return -1;ret = dht11_get_data(data);if(ret < 0)return -1;copy_to_user(buf, data, sizeof(data));printk("dht11 read ...\n");return 0;
}static ssize_t write (struct file * file, const char __user * buf, size_t len, loff_t * offset)
{return 0;
}static int close (struct inode * inode, struct file * file)
{printk("dht11 close ...\n");return 0;
}static struct file_operations fops = 
{.owner = THIS_MODULE,.open = open,.read = read,.write = write,.release = close
};static struct miscdevice misc = 
{.minor = MISC_DYNAMIC_MINOR,.name = DEV_NAME,.fops = &fops
};static int __init dht11_init(void)
{int ret = misc_register(&misc);if(ret < 0)goto err_misc_register;printk("dht11_init  ...\n");return ret;err_misc_register:misc_deregister(&misc);printk("dht11 misc_register faidht11\n");	return ret;
}static void __exit dht11_exit(void)
{misc_deregister(&misc);printk("dht11_exit  ###############################\n");
}module_init(dht11_init);
module_exit(dht11_exit);
MODULE_LICENSE("GPL");

http://www.wooajung.com/news/32109.html

相关文章:

  • 影楼网站怎么做北京最新疫情最新消息
  • 手机版网站怎么做推广优化网站排名教程
  • 自助网站制作自助建站工具
  • 南京 网站建设免费外链代发
  • 做网站的硬件和软件环境网站软件下载
  • 网站流量提供商广告投放优化师
  • 电子商务网站开发难点网络搭建教程
  • 做爰网站美女图片深圳靠谱网站建设公司
  • 建网站域名怎么买的网站建设
  • 什么网站做h5不收费中国有几个搜索引擎
  • 额尔古纳网站建设价格黄页网络的推广
  • 开发网站公司交税营销网点机构号
  • 增城网站建设推广免费网站流量统计
  • 网站支付怎么做虚拟币支付百度排名
  • 江西建设职业技术学院官方网站win7怎么优化最流畅
  • 北京网站建设 seo公司行业关键词搜索量排名
  • 女生做网站后期维护工作好吗上海培训机构有哪些
  • 网站哪里做品牌策划案例
  • 泉州最专业微信网站建设开发知名品牌营销案例100例
  • 网站备案变更主体电话百度seo排名优化软件分类
  • 网站的企业特色展示上海网站建设哪家好
  • 机加工网上接单平台有哪些国内做seo最好的公司
  • 临沂个人做网站seo网页推广
  • 谁有人和兽做的网站?seo关键词优化培训班
  • 义乌网站建设公司书生商友网站seo优化多少钱
  • 昆山做网站的公司有哪些推广目标怎么写
  • 网站推广的方式有网络推广网址
  • 专业社交网站建设公司网站seo源码
  • 网站建设培训的心得seo 工具分析
  • 网站说明页命名怎么给自己的网站设置关键词