翻查DS18B20的DataSheet编写操作函数,其过程遇到了不少坎,记下来备查. 对于单总线的DS18B20芯片,首先严格按照时序图写出正确的“写0”.“写1”和“读0.1”的基础函数,再以此写出其他基础操作的命令. 我在编制“写0”函数的时候,省却了最后拉高总线的一句bus=1,结果后续操作过程中大部分功能都正确,只有写精度的部分总是出错,写进去9位的“0x1f”,总是得到10位的“0x3f”,翻论坛.看datasheet,反复调试,浪费的大量时间,最后才发现症结所在,并经过测试该错误得以…
2018-01-1818:20:48 感觉自己最近有点凌乱,一个很简单的问题都能困扰自己很久.以前能很好使用和调试的DS18B20温度传感器,今天愣是搞了很久,妈卖批. 仅仅一个上拉电阻就困扰了我很久,同时也颠覆了我一直以来"电阻"无用的理论.有一些敏感元件,电阻的作用不容小觑. 调试代码简单精简版本如下,极客工坊大神修改版 #include "DS18B20_S.h" //传感器设定为10位模式,每次转换时间<187.5ms,如果需要12位模式,请修改库文件…
/******************************************* 程序功能:利用单线制DS18B20温度传感器 LED数码管显示当前的温度值 ********************************************/ #include <reg51.h>                 //DS18B20温度传感器程序 code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0…
认识管脚 认识唯一标示的64位地址序列号 寄存器数据译码成温度值(下面只针对12位转化的,还有9..10等其他位的转化方式,不同位的转化,其精度也不同) 传感器存储器 配置寄存器使用说明 DS18b20de ROM指令表,用于发送对应代码值来触发某一发送模式功能 DS18b20de RAM指令表,用于发送对应代码值来触发某一温度存储功能 DS18b20初始化时序, 代码 /**************************************************************…
DS18B20时序分析: 以下是STM32的驱动代码: #include "bsp_ds18b20.h" static void DS18B20_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(DS18B20_CLK, ENABLE); GPIO_InitStructure.GPIO_Pin = DS18B20_PIN; GPIO_InitStructure.GPIO_Mod…
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉. [Arduino]108种传感器模块系列实验(资料+代码+图形+仿真) 实验三十九:DS18B20单总线数字温度传感器模块 DS18B20 是世界第一片支持"一线总线"接口的温度传感器,…
目录 一.DS18B20 1. DS18B20简介 2. 电路原理图 3. 内部结构 内部完整结构框图 存储器结构 二.单总线(1-Wire BUS) 1. 单总线简介 2. 电路规范 3. 单总线的时序结构 4. DS18B20操作流程 5. DS18B20数据帧 6. 温度的存储格式 三.编码实现 1. 单总线部分 2. DS18B20模块 3. main.c部分 一.DS18B20 1. DS18B20简介 DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入…
一.硬件部分 GND脚接地: DQ脚接P03,外加4K7上拉电阻: VCC脚接3.3v供电: 二.软件部分 1.配置P03为准准双向 IO类型: void Init_power_gpio(void){ P03_Quasi_Mode; //DS18B20 P03=1;} 2.配置定时器2(可任意选用定时器): void Timer2_init(void){ //系统上电默认16M高速时钟源使能,并作为系统时钟 clr_TR2; //TR2停止时写入重新装载值 TIMER2_DIV_16; //使用…
1  电路图 2 layout 3调试 Y1是谐振器,Q1是放大器,C3决定功率(C3容值越大,功率越大)L2与C2构成振荡器(用于调节频偏),R1对功率影响最大. a 功率调试 用频谱仪:功率每+3dB为一倍,433M频段的极限通讯距离为100M,功率在额定电压下需要大于8dB. 影响功率的因素: 1)电压:在额定范围内,电压越大,功率越大. 2)调节R1,R1减小,功率越大,但是频偏会变小. 3)Y1-Q1-C3-C4-Q2-C8 信号回路,调节C3最直观. b频偏 频偏由谐振频率公式决定,…
参考(抄袭)资料在这里 先接线,3.3v,gnd,数据输出脚,我是PG11 vim /boot/armbianEnv.txt overlays=w1-gpio param_w1_pin=PG11 param_w1_pin_int_pullup= vim /etc/modules-load.d/modules.conf w1-gpio w1-therm cd /sys/bus/w1/devices,ls能看到一个带数字的设备,里面有一个w1-slave文件,这个里面包含温度信息 golang代码参…