s3c2440添加ds18b20驱动

来源:互联网 发布:2010年总决赛数据 编辑:程序博客网 时间:2024/06/05 11:37

Linux内核对于各种外设支持非常好,内核已经集成了大部分驱动,DS18B20属于单总线设备,在内核的驱动代码目录(drivers/w1/)下有专门的单总线设备驱动,我们只需要对其稍作修改就能使用。

Dallas 1-wires是Dallas公司的单总线设备,DS18B20(温湿度传感器)就是其中最具代表的设备,只用一根总线与cpu进行通信并且实现数据传输。具有体积小、适用电压宽、经济灵活的特点。它内部使用了onboard专利技术,全部传感元件及转换电路集成在一个形如三极管的集成电路内。DS18B20有电源线、地线及数据线3根引脚线,工作电压范围为3~5.5 V,支持单总线接口
1.修改配置文件

(1)添加头文件

(2)添加ds18b20设备结构体

(3)将ds18b20 设备结构体加入主设备结构体

2.make menuconfig选项
 Device Drivers  --->
         <*> Dallas's 1-wire support  --->   
                    [*]   Userspace communication over connector
                          1-wire Bus Masters  ---> 
                                 <*> GPIO 1-wire busmaster   
                          1-wire Slaves  --->
                                 <*> Thermal family implementation
3.重新编译内核&测试驱动
重新编译内核后,烧录开发板, 启动后在/sys/devices/w1 bus master/28-031604d692ff目录下可以看到有 一个w1_slave文件,该文件保存了采集到的温湿度数据。 

检测到此时温度为27.125℃。


原创粉丝点击