stm32 DS18B20
时间: 2023-10-02 12:11:16 浏览: 94
DS18B20是一种数字温度传感器,常用于STM32单片机中。它使用单总线方式进行通信,通过给DQ引脚输出一定规则的时序信号来配置和驱动DS18B20,并按照时序接收DS18B20发送的数据来获取温度信息。\[3\]
在STM32中,可以通过以下步骤来获取DS18B20的温度值:
1. 发送复位命令,即发送SKIP ROM命令(0XCC)和开始转换命令(0X44)。
2. 延时一段时间。
3. 再次发送复位命令。
4. 发送SKIP ROM命令(0XCC)和读存储命令(0XBE)。
5. 连续读取两个字节的数据,即温度值的高八位和低八位。
6. 根据温度值的高八位判断温度是否为负数,如果大于7,则温度为负数,需要进行取反操作。
7. 将温度值的高八位左移8位,与低八位相加,得到完整的温度值。
8. 将温度值乘以0.625,即可得到实际的温度值,精度为0.1°C。
9. 根据温度值的正负情况返回相应的数值。\[1\]
此外,还需要实现开始温度转换函数,即发送复位命令、检测DS18B20的存在,并发送SKIP ROM命令(0XCC)和开始转换命令(0X44)。\[2\]
以上是获取DS18B20温度值的基本步骤和原理,如果你想深入了解,可以查阅相关的资料和文章。
#### 引用[.reference_title]
- *1* *2* [STM32——DS18B20温度传感器](https://blog.csdn.net/weixin_62584795/article/details/126896263)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [stm32+DS18B20编程教学](https://blog.csdn.net/ShenZhen_zixian/article/details/103651772)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]