資源簡介
基于TQ2440和DHT11的溫濕度監控系統,界面是用QT寫的,運行在TQ2440上Linux系統下的。運行應用程序前需要安裝驅動,驅動源碼和Makefile已附上,不會操作的就不用下載了。

代碼片段和文件信息
//數據引腳鏈接到GPC9
#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“
static?char?DHT11_read_byte?(?void?)
{
char?DHT11_byte?;
unsigned?char?i?;
unsigned?char?temp?;
DHT11_byte?=?0?;
for?(?i?=?0?;?i?8?;?i?++?)
{
temp?=?0?;
while?(?!?(s3c2410_gpio_getpin?(?S3C2410_GPC9)?)?)
{
temp?++?;
if?(?temp?>?12?)
return?1?;
udelay?(?5?)?;
}
temp?=?0?;
while?(?s3c2410_gpio_getpin?(?S3C2410_GPC9)?)
{
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?(?S3C2410_GPC9?S3C2410_GPC9_OUTP?);
s3c2410_gpio_setpin?(?S3C2410_GPC9?0?);
msleep?(?18?);
// mdelay?(?18?);
s3c2410_gpio_setpin?(?S3C2410_GPC9?1?);
udelay?(?40?);
s3c2410_gpio_cfgpin?(?S3C2410_GPC9?S3C2410_GPC9_INP?);
if?(?!err?)
{
DataTemp?=?10?;
while?(?!(?s3c2410_gpio_getpin?(?S3C2410_GPC9)?)?&&?DataTemp?)
{
DataTemp?--;
udelay?(?10?);
}
if?(?!DataTemp?)
{
err?=?1;
count?=?-EFAULT;
}
}
if?(?!err?)
{
DataTemp?=?10?;
while?(?(?s3c2410_gpio_getpin?(?S3C2410_GPC9)?)?&&?DataTemp?)
{
DataTemp?--;
udelay?(?10?);
}
if?(?!DataTemp?)
{
err?=?1;
count?=?-EFAULT;
}
}
if?(?!err?)
{
for?(?i?=?0;?i?5;?i?++?)
{
tempBuf[i]?=?DHT11_read_byte?()?;
}
DataTemp?=?0?;
for?(?i?=?0;?i?4;?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?(?S3C2410_GPC9?S3C2410_GPC9_OUTP?);
s3c2410_gpio_setpin?(?S3C2410_GPC9?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?ret;
s3c2410
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-01-04?21:04??dht11\
?????目錄???????????0??2016-01-04?21:05??dht11\.git\
?????文件??????????82??2016-01-04?20:33??dht11\.git\COMMIT_EDITMSG
?????文件??????????23??2015-12-04?22:08??dht11\.git\HEAD
?????文件?????????136??2016-01-04?20:54??dht11\.git\MERGE_MSG
?????文件??????????41??2016-01-04?20:54??dht11\.git\REVERT_HEAD
?????文件?????????290??2015-12-04?22:11??dht11\.git\config
?????文件??????????73??2015-12-04?22:08??dht11\.git\desc
?????目錄???????????0??2015-12-04?22:08??dht11\.git\hooks\
?????文件?????????478??2015-12-04?22:08??dht11\.git\hooks\applypatch-msg.sample
?????文件?????????896??2015-12-04?22:08??dht11\.git\hooks\commit-msg.sample
?????文件?????????189??2015-12-04?22:08??dht11\.git\hooks\post-update.sample
?????文件?????????424??2015-12-04?22:08??dht11\.git\hooks\pre-applypatch.sample
?????文件????????1642??2015-12-04?22:08??dht11\.git\hooks\pre-commit.sample
?????文件????????1348??2015-12-04?22:08??dht11\.git\hooks\pre-push.sample
?????文件????????4951??2015-12-04?22:08??dht11\.git\hooks\pre-reba
?????文件????????1239??2015-12-04?22:08??dht11\.git\hooks\prepare-commit-msg.sample
?????文件????????3611??2015-12-04?22:08??dht11\.git\hooks\update.sample
?????文件????????2368??2016-01-04?21:05??dht11\.git\index
?????目錄???????????0??2015-12-04?22:08??dht11\.git\info\
?????文件?????????240??2015-12-04?22:08??dht11\.git\info\exclude
?????目錄???????????0??2015-12-04?22:08??dht11\.git\logs\
?????文件????????2060??2016-01-04?20:33??dht11\.git\logs\HEAD
?????目錄???????????0??2015-12-04?22:11??dht11\.git\logs\refs\
?????目錄???????????0??2015-12-04?22:08??dht11\.git\logs\refs\heads\
?????文件????????2060??2016-01-04?20:33??dht11\.git\logs\refs\heads\master
?????目錄???????????0??2015-12-04?22:11??dht11\.git\logs\refs\remotes\
?????目錄???????????0??2015-12-04?22:11??dht11\.git\logs\refs\remotes\dht11\
?????文件?????????858??2016-01-04?20:33??dht11\.git\logs\refs\remotes\dht11\master
?????目錄???????????0??2016-01-04?20:54??dht11\.git\ob
?????目錄???????????0??2016-01-04?20:33??dht11\.git\ob
............此處省略216個文件信息
評論
共有 條評論