您的位置:首页 > 运维架构 > Linux

linux ds18b20 温度传感器驱动

2014-06-30 14:46 411 查看

linux ds18b20温度传感器驱动

在内核配置中打开 Dallas's 1-wire support中的

1-wire Bus Masters
GPIO 1-wire busmaster
1-wire Slaves
Thermal family implementation

在平台mach-xxx.c中注册平台驱动

/*
* One-wire (W1 bus) support
*/
static struct w1_gpio_platform_data ds18b20_platform_data = {
.pin			= S5PV210_GPH2(7), //< EINT23
.is_open_drain	= 1,
};

static struct platform_device ds18b20_device = {
.name	= "w1-gpio",
.id		= -1,
.dev	= {
.platform_data = &ds18b20_platform_data
}
};

static void add_w1_gpio(void)
{
s3c_gpio_cfgpin(S5PV210_GPH2(7), S3C_GPIO_OUTPUT);
s3c_gpio_setpull(S5PV210_GPH2(7), S3C_GPIO_PULL_NONE);
s5p_gpio_set_drvstr(S5PV210_GPH2(7), S5P_GPIO_DRVSTR_LV4);
gpio_set_value(S5PV210_GPH2(7), 1);

platform_device_register(&ds18b20_device);
}


并在static void __init smdkv210_machine_init(void) 函数中添加一下代码

add_w1_gpio();

编译内核并烧写运行

在/sys/bus/w1/devices目录下可以看到28-开头的ds18b20的设备节点目录, 用cat命令可以查看该目录下的w1_slave文件得到温度数据


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: