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

  • 大小: 2KB
    文件類型: .bz2
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-07
  • 語言: 其他
  • 標簽: dht11??linux??

資源簡介

jz2440上實驗成功 內核是4.3.2版本 交叉編譯工具是arm-linux 3.4.5 我的接線方式:VCC接J3的17口,GND接J3的18口,DATA接的是J1的1口 測試成功。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

#define?DEVICE_NAME?“dht11“

#define?DHT11_IO??S3C2410_GPE(15)

/*?dht11讀一個字節?*/
static?char?DHT11_read_byte?(?void?)
{
char?DHT11_byte?;
unsigned?char?i?;
unsigned?char?temp?;

DHT11_byte?=?0?;
for?(?i?=?0?;?i? {
temp?=?0?;
while?(?!?(s3c2410_gpio_getpin?(?DHT11_IO?)?)?)
{
temp?++?;
if?(?temp?>?12?)
return?1?;
udelay?(?5?)?;
}
temp?=?0?;
while?(?s3c2410_gpio_getpin?(?DHT11_IO?)?)
{
temp?++?;
if?(?temp?>?20?)
return?1?;
udelay?(?5?)?;
}
if?(?temp?>?6?)
{
DHT11_byte?<<=?1?;
DHT11_byte?|=?1?;
}?
else
{
DHT11_byte?<<=?1?;
DHT11_byte?|=?0?;
}
}
return?DHT11_byte?;
}

static?ssize_t?DHT11_read?(?struct?file*?filp?char?__user*?buf?size_t?count?loff_t*?f_pos?)
{
unsigned?char?DataTemp;
unsigned?char?i;
unsigned?char?err;
char?tempBuf[5];
// loff_t?pos?=?*f_pos?;

err?=?0?;

s3c2410_gpio_cfgpin?(?DHT11_IO??S3C2410_GPIO_OUTPUT?);
s3c2410_gpio_setpin?(?DHT11_IO??0?);
msleep?(?20?);
// mdelay?(?18?);
s3c2410_gpio_setpin?(?DHT11_IO??1?);
udelay?(?30?);
s3c2410_gpio_cfgpin?(?DHT11_IO??S3C2410_GPIO_INPUT?);
if?(?!err?)
{
DataTemp?=?10?;
while?(?!(?s3c2410_gpio_getpin?(?DHT11_IO?)?)?&&?DataTemp?)
{
DataTemp?--;
udelay?(?10?);
}
if?(?!DataTemp?)
{
err?=?1;
count?=?-EFAULT;
}
}
if?(?!err?)
{
DataTemp?=?10?;
while?(?(?s3c2410_gpio_getpin?(?DHT11_IO?)?)?&&?DataTemp?)
{
DataTemp?--;
udelay?(?10?);
}
if?(?!DataTemp?)
{
err?=?1;
count?=?-EFAULT;
}
}
if?(?!err?)
{
for?(?i?=?0;?i? {
tempBuf[i]?=?DHT11_read_byte?()?;
}
DataTemp?=?0?;
for?(?i?=?0;?i? {
DataTemp?+=?tempBuf[i]?;
}
if?(?DataTemp?!=?tempBuf[4]?)
{
count?=?-EFAULT;
}
// if?(?count?>?(?5?-?pos?)?)
// {
// count?=?5?-?pos?;
// }
if?(?count?>?5?)
{
count?=?5?;
}

//? pos?+=?count;
// if?(?copy_to_user?(?buf??tempBuf?+?*f_pos??count?)?)
if?(?copy_to_user?(?buf??tempBuf??count?)?)
{
count?=?-EFAULT?;
}
// *f_pos?=?pos;
}
s3c2410_gpio_cfgpin?(?DHT11_IO??S3C2410_GPIO_OUTPUT?);
s3c2410_gpio_setpin?(?DHT11_IO??1?);
return?count;
}

static?struct?file_operations?dev_fops?=?{
.owner?=?THIS_MODULE
.read?=?DHT11_read
};
static?struct?miscdevice?misc?=?{
.minor?=?MISC_DYNAMIC_MINOR
.name?=?DEVICE_NAME
.fops?=?&dev_fops
};

static?int?__init?DHT11_init_module?(?void?)
{
int?

評論

共有 條評論