资源简介
在友善之臂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
- 上一篇:Vf控制保证输出电压频率恒定
- 下一篇:全国省市地区json格式数据文件
相关资源
- 直流无刷电机方波驱动 stm32 例程代码
- elantech触控板驱动程序 v13.6.11 官方最
- 联想y470无线网卡驱动 for 32位64位
- 松下plc FP-XH的驱动
- uboot到linux logo显示不间断 补丁
- IMX385驱动代码.zip
- 组态王驱动开发包3.0.0.7(中文)
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- CASS9.1最新S4数据及驱动+ET199数据及驱
- UNIX/LINUX编程实践教程的源码
- 带有死区延时的H桥直流电机驱动电路
- Linux任务管理器
- linux应用层的华容道游戏源代码
- USB转串口驱动,FT232R驱动程序,最新
- 德卡D3读卡器测试程序驱动文件
- WinCE下CP210x的驱动程序
- 单片机与温度传感器DS18B20的程序设计
- 毕业论文之温度传感器DS18B20(源码
- stm32 ds18b20 温度传感器 测试通过
- ubuntu9.10 可加载内核模块和字符设备驱
- MCGS触摸屏西门子s7_1200驱动
- FPGA在步进电机驱动上的应用实例及代
- [免费]基于stm32f103ze 的OLED驱动代码
- 51单片机读取温度数据存储到SD卡中并
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- RA8806液晶驱动程序
- MP3文件ID3v2ID3v2APEv2标签读取
- 内核驱动进程保护演示程序
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- 组态王中S7-300TCP驱动
评论
共有 条评论