目录一、DS18B201. DS18B20简介2. 电路原理图3. 内部结构内部完整结构框图存储器结构二、单总线(1-Wire BUS)1. 单总线简介2. 电路规范3. 单总线的时序结构4. DS18B20操作流程5. DS18B20数据帧6. 温度的存储格式三、编码实现1. 单总线部分2. DS18B20模块3. main.c部分 一、DS18B20 1
又是掉分的一天。 且因为题目的区分度很高,所以掉分掉的很多,掉了100pts。 umm…但今天也没有特别满意吧。 T1 看着就很不可做。 考场实在没什么想法,写了个 O ( w
给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 --------------- ----- [1 3 -1] -3 5 3 6 7 3
当一个无向图中边权只有0,1 ,我们可以用双端队列广搜来写,将0权边加入队头,将1权边加入队尾 ,满足单调性。 同堆优化版的 Dijkstra 一样,只有在出队的时候才能知道最小值,这样一定满足最小,满足正确性 例题 电路维修 达达是来自异世界的魔女,她在漫无目的地四处漂流的时候,遇到了善良的少
示例 1: 输入:head = [1,3,2] //链表 输出:[2,3,1] /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public int[] reversePrint(ListNode
硬件设计 (末尾附文件) 代码设计 #include <reg51.h> #define uint unsigned int #define uchar unsigned char //宏定义 #define LCD1602 P0 sbit SET=P3^1; //定义调整键 sbit DEC=P3^2; //定义减少键 sbit ADD=P3^3; //定义增加键 sbit BUZZ=P3^6;
第二篇文章主要介绍的是温度传感器DS18B20温度传感器 在上一篇文章中没有写出来,在设计LCD1602显示模式的时候出现了一个难题,就是分屏显示数据的问题,因为要显示的东西比较多但是显示屏只支持16*2的显示,所以要设置多个界面显示。在这我设置了几个按键作为触发的条件,进行界面的切换
可以参考这个博客: https://blog.csdn.net/qq_27508477/article/details/83661672 但是由于stm32f103很难得到1us的时钟,而且使用HAL库没有直接的寄存器操作,所以需要一定的修改,这里主要讲如何修改。 DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度±5%RH, 温度±2℃,量
DQ反量化时,会把初始状态设置为0,然后根据level(也就是k)来进行下个点的state判断,如下图所示: 反DQ的函数是dequantBlock函数,个人理解见注释: void Quantizer::dequantBlock( const TransformUnit& tu, const ComponentID compID, const QpParam& cQP, CoeffBuf& recCoeff, bool e
置换策略FIFO算法的实现 先进先出(FIFO) FIFO策略把分配给进程的页框看做是一个循环缓冲区,按循环方式移动页。 它所需要的只是一个指针,这个指针在该进程的页框中循环。 因此这是一种实现起来最简单的页面置换策略。除了它的简单性,这种选择方法所隐含的逻辑是置换驻留在内存中时
求助,这个sbit附近哪错了 syntax error near sbit #include “onewire.h” sbit DQ=P1^4; void Delay_OneWire(unsigned int t) { unsigned char i; while(t–){ for(i=0;i<12;i++); } } void Delay_us(void) { unsigned char i; i = 30; while (--i); } void Write_DS18B20(
1、 一个整数n(n <=30)可以有多种分划,分划的整数之和为n,在不区分分划出各整数的次序时,字典序递减输出n 的各详细分划方案和分划总数。 例如n = 6,程序输出为: 6 5 1 4 2 4 1 1 3 3 3 2 1 3 1 1 1 2 2 2 2 2 1 1 2 1 1 1 1 1 1 1 1
这个题....题目本身难理解。 题目:1363:Rails 意思是按照顺序入栈,在随时能够出栈的情况下,能不能按照测试用例的顺序出栈... 样例输入 5 1 2 3 4 5 5 4 1 2 3 0 6 6 5 4 3 2 1 0 0 样例输出 Yes No Yes 表示: 第一行:给定5个车厢,编号1~5 第二行:给定了一个顺序 第三行:给定了一个顺序 第
蓝桥杯 知识点总结 1.基本模板: #include<common.h> dsp_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; dsp_show[8]; void system_init() { P0=0xff;P2=0x80;P2=0; P0=0x00;P2=0xa0;P2=0; Timer0Init(); } void Timer0Init(void) //1毫秒@11.0
一、队列 ① 队列实现源码分析 在源码中搜索 dispatch_queue_create 关键字,可以在 queue.c 中发现: dispatch_queue_t dispatch_queue_create(const char *label, dispatch_queue_attr_t attr) { return _dispatch_lane_create_with_target(label, attr, DISPATCH_TA
DS18B20驱动程序探索 前言DS18B20初始化方法1. DQ为何物?2. DS18B20设备初始化流程: 前言 本文通过理解DS18B20的驱动程序,更好的理解DS18B20的功能,其中驱动程序为蓝桥杯官方提供的驱动,解释则通过摘录芯片手册中的内容。 DS18B20初始化方法 下面展示一些 内联代码片。 #inc
基于物联网的智能窗户Day3 DHT11温湿度模块HC_SR501红外人体感应模块结果展示ending DHT11温湿度模块 传感器包括一个高分子电阻式感湿度元件和一个NTC测温元件,并于一个高性能8位单片机相连,通过单总线与微处理器通信,只需要一根数据线。 在相关例程基础上进行改动 //复
背包问题1:【SSL】1059.01背包问题 题目: 一个旅行者有一个最多能用m公斤的背包,现在有n件物品,它们的重量分别是W1,W2,…,Wn,它们的价值分别为C1,C2,…,Cn.若每种物品只有一件求旅行者能获得最大总价值。 输入 第1行:两个整数,M(背包容量,M<=200)和N(物品数量,N<=30); 第2至N+1行:每行
从左向右遍历一个数组,通过不断将其中的元素插入树中可以逐步地生成一棵二叉搜索树。给定一个由不同节点组成的二叉搜索树,输出所有可能生成此树的数组。 示例: 给定如下二叉树 2 / \ 1 3 返回: [ [2,1,3], [2,3,1] ] /** * Defin
C++ vs Python【数据结构篇】 队列 // C++ using namespace std; queue<int> q; // 普通队列 q.push(1); // queue的尾部添加一个元素的副本 q.front(); // 返回queue中第一个元素的引用 q.pop(); // 删除queue中的第一个元素 q.size(); // 返回queue中元素的个数 q.empty();
硬件设计 (末尾附文件) 原理图: 仿真图: 程序设计 //程序头函数 #include <reg52.h> //宏定义 #define uint unsigned int #define uchar unsigned char //管脚声明 //输出 sbit LED_wenduH= P1^2; //温度上限 sbit LED_wenduL= P1^3; //温度下限 sbit LED_yanwu = P
使用Intent与Bundle传递数据 登录界面login.xml 1.使用Relativelayout相对布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent&
MSP430F5529 温度传感器 DS18B20 LCD显示温度数值 绘制温度曲线 实验 代码 程序 一.实验要求 采用实验开发板控制温度传感器,将温度曲线及数值变化实时显示在LCD屏上。 二.系统组成 实验器材: 1.PC 一台 2.MSP430F5529 一个 3.USB数据线 一条 4.DS18B20温度传感器 一个 5.连接
给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5 3 6 7 3 1 [3 -1
3.3双端队列的表示与实现 双端队列有两个端部,首部和尾部,并且项在集合中保持不变。 双端队不同的地方是添加和删除项是非限制性的。可以在前面或后面添加新项;同样,可以从任一端移除现有项。 代码实现: #include <stdio.h> #include <stdlib.h> #define QUEUESIZE 8 typedef char