91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-29
  • 語言: 其他
  • 標(biāo)簽: DHT11??

資源簡介

linux平臺下,DHT11驅(qū)動程序,增加超時等待機制,穩(wěn)定,包括應(yīng)用測試程序,已在MINI2440測試通過。

資源截圖

代碼片段和文件信息

#include????
#include????
#include????
#include????
#include????
#include????
#include????
#include????
#include????
#include????
#include????
#include????
#include????
#include????
#include????
??
/*?相關(guān)引腳定義方便以后移植?*/??
#define?DQ?????????S3C2410_GPB(1)???
#define?CFG_IN?????S3C2410_GPIO_INPUT???
#define?CFG_OUT????S3C2410_GPIO_OUTPUT
#define?TIME_OUT_DEALY?100???
??
//?dht11主次設(shè)備號(動態(tài)分配)???
static?int?dht11_major?=?0;??
static?int?dht11_minor?=?0;??
static?int?dht11_nr_devs?=?1;?
unsigned?short?temperaturehumidity;
unsigned?char?checknum;
static?volatile?unsigned?char?values[6]={000000};?
??
//?定義設(shè)備類型???
static?struct?dht11_device??
{??
????struct?cdev?cdev;??
};??
??
struct?dht11_device?*dht11_devp;????/*設(shè)備結(jié)構(gòu)體指針?*/??
??
static?struct?class?*dht11_class;??
static?struct?class_device?*dht11_class_dev;??
??
/*?函數(shù)聲明?*/??
static?int?dht11_open(struct?inode?*inode?struct?file?*filp);??
static?int?dht11_init(void);??
static?ssize_t?dht11_read(struct?file?*filp?char?__user?*?buf?size_t?count?loff_t?*?f_pos);??
void?dht11_setup_cdev(struct?dht11_device?*dev?int?index);??


static?void?set_pin_high(void)
{
??????s3c2410_gpio_cfgpin(DQCFG_OUT);
??s3c2410_gpio_setpin(DQ?1);
}

static?void?set_pin_low(void)
{
??????s3c2410_gpio_cfgpin(DQCFG_OUT);
??s3c2410_gpio_setpin(DQ?0);
}?

static?int?set_pin_delay_get(unsigned?int?time)
{???
????
s3c2410_gpio_cfgpin(DQCFG_IN);
????udelay(time);
????if(s3c2410_gpio_getpin(DQ))
return?1;
else
return?0;
}

static?int?set_pin_get(void)
{???
????
?
????if(s3c2410_gpio_getpin(DQ))
return?1;
else
return?0;
}



??
static?int?dht11_open(struct?inode?*inode?struct?file?*filp)??
{??
????int?flag?=?0;??
??
????flag?=?dht11_init();??
????if?(flag?&?0x01)??
????{??
????????printk(KERN_WARNING?“open?dht11?failed\n“);??
????????return?-1;??
????}??
????printk(KERN_NOTICE?“open?dht11?successful\n“);??
????return?0;??
}??
??
static?int?dht11_init(void)??
{??
????int?retval?=?0;??
??
????set_pin_high();
??
????return?retval;??
}?



static?int?read_word_data(void)
{
?????int?i;
?????int?counter=0;
?????int?timerout_counter=0;
?????int?timerout_flag=0;
?????int?ret=0;
start:
?set_pin_low();????//
?mdelay(20);???????//18ms
?set_pin_high();???//
?????if(set_pin_delay_get(50))?//
????? {
???????????printk(KERN_INFO“can?not?detect?the?low?ack!“);
???????????counter++;
???????????if(counter>5)
??????????{
???????????ret=-1;
???????????goto?stop;
??????????}
???????????goto?start;
????}
?????counter=0;
?????timerout_counter=0;
?????while((!set_pin_get())&&(timerout_counter++?????if(timerout_counter>=TIME_OUT_DEALY)
?????{
?????????????timerout_flag=1;
?????????????goto?out_err;
?????}?
?????timerout_counter=0;
?????while((set_pin_get())&&(timerout_count

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

????I.A....??????8056??2014-07-27?15:03??linxu_dht11\dht11\app_mini2440_dht11

????I.A....???????829??2014-07-27?15:03??linxu_dht11\dht11\app_mini2440_dht11.c

????I.A....???????829??2014-07-27?14:54??linxu_dht11\dht11\app_mini2440_dht11.c~

????I.A....???????157??2014-07-27?10:05??linxu_dht11\dht11\Makefile

????I.A....???????112??2014-07-27?10:04??linxu_dht11\dht11\Makefile~

????I.A....??????8959??2014-07-27?14:53??linxu_dht11\mini2440_dht11.c

????I..D...?????????0??2014-07-27?15:09??linxu_dht11\dht11

?????目錄??????????0??2014-07-27?15:17??linxu_dht11

-----------?---------??----------?-----??----

????????????????18942????????????????????8


評論

共有 條評論