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

資源簡介

在友善之臂mini2440上基于linux下的字符設備的ds18b20的驅動,是用gpio模擬的。還有相關測試的應用程序。

資源截圖

代碼片段和文件信息

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

#include?“ds18b20.h“

static?int?sensor_major=SENSOR_MAJOR;
static?int?sensor_minor=SENSOR_MINOR;

dev_t?dev;

struct?cdev?sensor;

static?unsigned?char?Sensor_Init(void)
{
unsigned?char?presence=1;

s3c2410_gpio_cfgpin(DQDQ_OUTPUT);
s3c2410_gpio_setpin(DQ1);
udelay(1);
s3c2410_gpio_setpin(DQ0);
udelay(480);
s3c2410_gpio_cfgpin(DQDQ_INPUT);
udelay(55);
s3c2410_gpio_cfgpin(DQDQ_INPUT);
presence?=?s3c2410_gpio_getpin(DQ);
udelay(200);
return?(presence);

}

static?void?Write_One_Bit(unsigned?char?Bit)
{
s3c2410_gpio_cfgpin(DQDQ_OUTPUT);
s3c2410_gpio_setpin(DQ0);
udelay(2);
if(Bit==1)s3c2410_gpio_setpin(DQ1);
udelay(65);
s3c2410_gpio_setpin(DQ1);
udelay(2);
}

static?unsigned?char?Read_One_Bit(void)
{
unsigned?char?Bit;

s3c2410_gpio_cfgpin(DQDQ_OUTPUT);
s3c2410_gpio_setpin(DQ0);
udelay(1);
s3c2410_gpio_setpin(DQ1);
s3c2410_gpio_cfgpin(DQDQ_INPUT);
udelay(13);
Bit?=?s3c2410_gpio_getpin(DQ);
udelay(65);
s3c2410_gpio_cfgpin(DQDQ_OUTPUT);
s3c2410_gpio_setpin(DQ1);

return?(Bit);
}

static?void?Write_One_Byte(unsigned?char?Byte)
{
unsigned?char?loop;
unsigned?char?temp;
for(loop=0;loop<8;loop++){
temp?=?Byte>>loop;
temp&=?0x01;
Write_One_Bit(temp);
}
udelay(104);
}

static?unsigned?char?Read_One_Byte(void)
{
int?loop;
unsigned?char?Byte=0;
for(loop=0;loop<8;loop++){
if(Read_One_Bit())Byte|=(0x01< }
return?(Byte);
}

static?ssize_t?sensor_open(struct?inode?*inodestruct?file?*filp)
{
if(!Sensor_Init())
{
Write_One_Byte(SKIP_ROM);
Write_One_Byte(WRITE_SCRATCHPAD);
Write_One_Byte(TH);
Write_One_Byte(TL);
Write_One_Byte(BIT_12);
Sensor_Init();
Write_One_Byte(WRITE_SCRATCHPAD);
Write_One_Byte(COPY_SCRATCHPAD);
}
else
{
printk(“init?failed!\n“);
}
return?0;
}

static?ssize_t?sensor_read(struct?file?*filpchar?__user?*bufsize_t?sizeloff_t?*ppos)
{
int?tempLtempMret;
Sensor_Init();
Write_One_Byte(SKIP_ROM);
Write_One_Byte(CONVERT_T);
mdelay(750);
Sensor_Init();
Write_One_Byte(SKIP_ROM);
Write_One_Byte(READ_SCRATCHPAD);
tempL=Read_One_Byte();
tempM=Read_One_Byte();
tempM<<=8;
tempM|=tempL;
ret=copy_to_user(buf&tempMsize);
if(ret>0){
return?-EFAULT;
}
return?0;
}

int?sensor_release(struct?inode?*inodestruct?file?*filp)
{
return?0;
}

static?const?struct?file_operations?sensor_fops=
{
.owner?=?THIS_MODULE
.read?=

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

?????文件????????233??2011-12-23?19:21??DS18B20\.ds18b20.ko.cmd

?????文件??????15102??2011-12-23?15:38??DS18B20\.ds18b20.mod.o.cmd

?????文件??????25585??2011-12-23?19:21??DS18B20\.ds18b20.o.cmd

?????文件?????????67??2011-12-23?19:21??DS18B20\.tmp_versions\ds18b20.mod

?????文件???????3860??2011-12-23?19:20??DS18B20\ds18b20.c

?????文件????????900??2011-12-23?15:34??DS18B20\ds18b20.h

?????文件???????4906??2011-12-23?19:21??DS18B20\ds18b20.ko

?????文件????????444??2011-12-23?15:38??DS18B20\ds18b20.mod.c

?????文件???????1492??2011-12-23?15:38??DS18B20\ds18b20.mod.o

?????文件???????4156??2011-12-23?19:21??DS18B20\ds18b20.o

?????文件????????195??2011-12-22?22:34??DS18B20\Makefile

?????文件??????????0??2011-12-23?15:38??DS18B20\Module.symvers

?????文件?????????41??2011-12-23?19:21??DS18B20\modules.order

?????文件??????14493??2011-12-23?19:24??DS18B20\tem

?????文件????????490??2011-12-23?19:24??DS18B20\tem.c

????..AD...?????????0??2011-12-23?19:21??DS18B20\.tmp_versions

????..AD...?????????0??2011-12-23?20:44??DS18B20

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

????????????????71964????????????????????17


評論

共有 條評論