1. 前言

当前文章介绍如何在Linux系统下编写一个DS18B20温度传感器驱动,测量环境温度,并将DS18B20注册成字符设备,通过文件接口将温度数据传递给应用层。

当前使用的开发板是友善之臂的Tiny4412开发板,CPU是三星的Exynos-4412,主频是4核1.5GHZ,当前运行的Linux内核版本是3.5。使用的温度传感器是DS18B20,是一个数字温度传感器,非常经典的一款温度传感器,常年应用在各大高校毕设、实验室、毕设、课设场景。DS1820接线比较简单,只需要一根线就行,加上两根电源线,一共3根线,并且DS18B20支持硬件序列号寻址,支持一个IO口上挂载多个DS18B20。

2. DS18B20介绍

DS18B20特性:

(1)全数字温度转换及输出。
(2)先进的单总线数据通信。
(3)最高 12 位分辨率,精度可达土 0.5 摄氏度。
(4)12 位分辨率时的最大工作周期为 750 毫秒。
(5)可选择寄生工作方式。
(6)检测温度范围为–55° C ~+125° C (–67° F ~+257° F)
(7)内置 EEPROM,限温报警功能。
(8)64 位光刻 ROM,内置产品序列号,方便多机挂接。
(9)多样封装形式,适应不同硬件系统。

Linux驱动开发-编写DS18B20驱动相关推荐

  1. <Linux开发>--驱动开发-- 字符设备驱动(3) 过程详细记录

    <Linux开发>–驱动开发-- 字符设备驱动(3) 过程详细记录 驱动开发是建立再系统之上的,前面作者也记录了系统移植的过程记录,如果有兴趣,可进入博主的主页查看相关文章,这里就不添加链 ...

  2. Linux 设备驱动开发 —— platform设备驱动应用实例解析

    前面我们已经学习了platform设备的理论知识Linux 设备驱动开发 -- platform 设备驱动 ,下面将通过一个实例来深入我们的学习. 一.platform 驱动的工作过程 platfor ...

  3. Linux驱动开发—内核I2C驱动详解

    Linux驱动开发--内核I2C驱动 I2C驱动文件结构 I2C数据传输过程 i2c_transfer i2c_msg I2C通讯常用的接口函数(老版本) 快速读写接口函数:(连续读写) 常用的读操作 ...

  4. Linux嵌入式驱动开发07——GPIO驱动过程记录(飞凌开发板)

    文章目录 全系列传送门 1. 在/arch/arm/boot/dts/imx6q-pinfunc.h查找 2. 在设备树配置文件中添加设备节点定义以及其引脚定义 3. 修改设备树文件添加配置 4. d ...

  5. <Linux开发>驱动开发 -之-platform 驱动

    <Linux开发>驱动开发 -之-platform 驱动 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: < ...

  6. linux系统下编写I2C驱动

    I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. ...

  7. Linux驱动开发1:驱动开发与裸机开发的区别

    Linux驱动开发1:驱动开发与裸机开发的区别 1.裸机驱动开发回顾: 裸机驱动开发是非常底层的,跟寄存器打交道,有些MCU为了方便我们开发,提供了一些库,让我们通过调用API函数来间接的实现利用寄存 ...

  8. STM32MP157驱动开发——4G通信模块驱动

    STM32MP157驱动开发--4G通信模块驱动 一.简介 二.驱动开发 1.高新兴 ME3630 驱动开发 驱动修改 添加 ECM 支持程序 配置 Linux 内核 ppp拨号功能测试 ECM 联网 ...

  9. STM32MP157驱动开发——蜂鸣器设备驱动

    STM32MP157驱动开发--蜂鸣器设备驱动 0.相关知识 一.驱动程序开发 1.设备树修改 2.启动程序编写 3.测试程序编写 二.编译及运行测试 0.相关知识   蜂鸣器常用于计算机.打印机.报 ...

  10. STM32MP157驱动开发——platform设备驱动(中)

    STM32MP157驱动开发--platform设备驱动(中) 0.前言 一.platform设备模块--设备信息解析 二.platform驱动模块--加载设备 三.测试App 四.编译及运行 相关文 ...

最新文章

  1. 富文本编辑_博客的后台富文本编辑和阅读计数
  2. sklearn使用投票器VotingClassifier算法构建多模型融合的软投票器分类器(soft voting)并计算融合模型的混淆矩阵、可视化混淆矩阵(confusion matrix)
  3. 一些C++的开源项目和C++库以及修炼C++的方法
  4. Ubuntu 虚拟机空间不足增加空间笔记
  5. java代码连接数据库
  6. 在单链表和双链表中删除倒数第K个节点
  7. 计算机英语 TCP IP什意思,TCP/IP常见英文缩写释义
  8. 深度运用LSTM神经网络并与经典时序模型对比
  9. 牛客题霸 [ 孩子们的游戏] C++题解/答案
  10. JavaScript对象与事件
  11. FTP使用外部数据源
  12. C#开发人员能够可视化操作windows服务
  13. angular ui组件_使用Angular Material将现代UI组件添加到Angular项目中
  14. 1-算法-hanoi汉诺塔问题- 递归
  15. C语言程序设计谭浩强(第四版)期末复习重点
  16. 深井地下水监测测量仪
  17. 王一博、肖战、吴宣仪、杨紫,2019明星沸点榜,谁的颜值更高,Python告诉你
  18. 解决window10播放.avi格式视频黑屏,只有声音没有视频0xc00d5212错误
  19. 粉丝经济大爆发居然真的来了
  20. aspectj框架切入点表达式

热门文章

  1. 毛星云opencv入门边缘检测Canny代码
  2. STM32 cubemx驱动ws2812b灯条
  3. 华为价值评价体系的四个基本假设
  4. Docker之nginx集群
  5. 建模与仿真matlab论文,基于matlab风力发电系统的建模与仿真毕业设计论文
  6. 【原创】自制PCB经验教训之一:版图打印篇
  7. C语言面试基本点整理
  8. 推荐系统之协同过滤算法
  9. 深度置信网络简要介绍
  10. 深度置信网络 Deep belief network