| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 【STM32CubeMX学习】1WIRE总线读取DS18B20温度 -> 正文阅读 |
|
[嵌入式]【STM32CubeMX学习】1WIRE总线读取DS18B20温度 |
1、1WIRE总线介绍????????1WIRE总线只用一根线就可以完成读写操作,下面以STM32为主机,DS18B20为从机,介绍1WIRE总线的各种时序。 ①复位脉冲:主机输出低电平,保持低电平时间至少480us,然后主机释放总线,延时15~60us,并进入接收模式。 ②应答脉冲:从机发现总线有上升沿,拉低总线并保持60~240us,表示应答。 ③写时序(低位先写): ????????写"1":主机输出低电平, 延时2us,然后释放总线,延时60us。 ????????写"0":主机输出低电平,延时60us,然后释放总线,延时2us。 ④读时序:主机输出低电平延时2us,然后主机转入输入模式延时12us,然后读取单总线当前的电平,得到一位数据1/0(低位在前),然后延时50us。 2、DS18B20简介温度测量范围:-55℃~+125℃。 ? DS18B20的内部有64位的ROM单元和9字节的高速暂存器。64位ROM单元包含了DS18B20唯一的序列号,因为这里只使用了一个DS18B20,因此不必关心这个ROM的内容。需要关注的是9字节的高速暂存器: byte0:温度数据的低8位。 DS18B20的温度数据格式如下: BIT0~3:小数部分。 若温度问正,则直接将这个值乘0.0625,若温度为负,则将这个值取反加一,再乘0.0625。 3、代码实现读取温度ds18b20.h
ds18b20.c 读取步骤:复位 -> 发SKIP ROM命令(0XCC) -> 发开始转换命令(0X44) -> 延时 -> 复位 -> 发送 SKIP ROM 命令(0XCC) -> 发读存储器命令(0XBE) -> 连续读出两个字节温度数据 -> 结束。
定义全局变量
在main函数中查询
运行结果 ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:32:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |