• 2024-07-02基于51单片机的光照强度检测系统设计与实现
    基于51单片机的光照强度检测系统设计与实现摘要本文设计并实现了一个基于51单片机的光照强度检测系统,该系统利用光敏电阻作为光照强度检测元件,通过ADC转换器将模拟信号转换为数字信号,并由51单片机进行处理和显示。系统具备实时检测、数据转换、存储及显示功能,适用于各种需要
  • 2024-06-3051单片机项目:进阶版密码锁(附代码详解)
    一、基本功能简介1.四位密码锁        默认密码为1201(小彩蛋*1),后续可自由修改密码。2.输入密码        按下不同按键,输入相应的数字(最多输入四位,输入少于四位使用0补全)按键与数字对应表按键数字S11S22S33S44S55S66S77S88S99S100
  • 2024-06-30Proteus仿真实例_基于51单片机的二层电梯控制系统(仿真文件+程序)24-51f-03
    一.系统概述1.电梯有上行和下行功能,有一个电机通过正反转控制,分别用两个指示灯表示;2.有开门和关门功能,有一个电机通过正反转控制,分别用两个指示灯表示;3.电梯内部具有开门、关门按钮,带相应指示灯:4.超重和延时报警功能,超重信号保持功能。二.仿真概述 1.进入仿真,数码管
  • 2024-06-24【鸿蒙】ERROR_GET_BUNDLE_INSTALLER_FAILED
    错误信息[ERROR_GET_BUNDLE_INSTALLER_FAILED]Troubleshootingguide$hdcfilesendD:\Huawei\devEcoProjects\entry\build\default\outputs\default\entry-default-unsigned.hap/sdcard/e8a215ea7be1444197e6a58ebda7721f/entry-default-unsigned.hapErrorwhile
  • 2024-06-23C++ 20新特性之改进的位操作
  • 2024-06-22[题解]AT_abc250_e [ABC250E] Prefix Equality
    思路对于这种题目,通常会想到用哈希维护。由于集合相同与\(a_{1\simx}\),\(b_{1\simy}\)的顺序无关,所以对于我们的哈希函数\(h(x)\)必定需要用一种有交换律的符号。首先想到的当然是加法,但是不太好实现,因为这些数太大了,不因会爆unsignedlonglong,还会爆__int128,所以不
  • 2024-06-21recastnavigation.Sample_TempObstacles代码注解 - rcBuildHeightfieldLayers
    烘培代码在rcBuildHeightfieldLayers本质上是为每个tile生成高度上的不同layer算法的关键是三层循环:forz轴循环forx轴循环for高度span循环判断span和相邻span的连通性(x/z平面相邻cell)如果联通,则标注为同一个layer,也就是在x/z平面上标注layer,形成像是互不相
  • 2024-06-20TCP报文详解
    简介其实协议的形式就是结构化的数据,TCP协议也是,它的报头格式如下TCP报头,实际上是一个结构化的数据,也就是一个结构体。例如:structtcp_hdr{unsignedintstc_port:16;unsignedintdesc_port:16;unsignedintseq;unsignedintack_seq;....}
  • 2024-06-20转:重磅原创)冬之焱: 谈谈Linux内核的栈回溯与妙用
     unwind.c//SPDX-License-Identifier:GPL-2.0-only/**arch/arm/kernel/unwind.c**Copyright(C)2008ARMLimited**StackunwindingsupportforARM**AnARMEABIversionofgccisrequiredtogeneratetheunwind*tables.Forinformationab
  • 2024-06-19初学51单片机之PWM实例呼吸灯以及遇到的问题(已解答)
    PWM全名PulseWidthModulation中文称呼脉冲宽度调制如图这是一个周期10ms、频率是100HZ的波形,但是每个周期内,高低电平宽度各不相同,这就是PWM的本质。占空比是指高电平占整个周期的比列,上图第一个波形的占空比是40%,第二个是60%,第三个是80%。本案将以PWM控制来制作一个呼
  • 2024-06-19内存管理-6-虚拟内存相关结构体
    基于msm-5.4一、structmm_struct1.简介内嵌在task_struct结构中,表示一个进程虚拟地址空间。2.成员介绍//include/linux/mm_types.hstructmm_struct{struct{structvm_area_struct*mmap;/*listofVMAs*/structrb_rootmm_rb;
  • 2024-06-187.4.1
    深度优先生成树参考书:《数据结构(C语言版)》严蔚敏书中7.4.1节#include<vector>#include<queue>#include<iostream>usingnamespacestd;structCSNode{intdata;CSNode*firstChild;CSNode*nextsibling;CSNode(intd,CSNode*f=nul
  • 2024-06-187.4.3 最小生成树
    最小生成树参考书:《数据结构(C语言版)》严蔚敏正在学习这本书,把书中的数据结构用c++代码实现了一遍prim算法#include<vector>#include<cstdio>#include<climits>usingnamespacestd;unsignedminimum(constvector<pair<unsigned,int>>&closedge){unsign
  • 2024-06-18C位域
    //OnlineCcompilertorunCprogramonline#include<stdio.h>typedefstructbits{unsignedcharb0:1;unsignedcharb1:1;unsignedcharb2:1;unsignedcharb3:1;unsignedcharb4:1;unsignedcharb5:1;u
  • 2024-06-18C语言结构体位域的使用技巧(联合体妙用)
    C语言结构体位域的使用技巧基本概念在C语言中,位域(BitFields)是一种数据结构,它允许程序员访问内存中的单个位。位域通常用于硬件编程,例如嵌入式系统开发,因为它们允许程序员直接访问和控制硬件寄存器的特定位。位域在不同的编译器和平台上可能会有不同的内存对齐和打包行为,
  • 2024-06-17静态免杀-AES加密
    shellcodeaes加密写在前面针对国内主流的杀毒,360、火绒静态对默认的shellcode的检测是非常敏感的,这里推荐使用aes加密来对shellcode进行加密达到静态规避的效果1、aes定义贴了个链接,想要更深的了解可以自行检索一下简述AES加密算法2、推荐项目https://github.com/xf55
  • 2024-06-15史上最简单的bootloader【STM32F767】[【二】
    继上一篇史上最简单的bootloader【STM32F767】后,最近进一步研究了下bootloader。任务:bootloader不变,app自我复制,将app搬运到sram中运行。目的:1)学习bootloader;     2)没什么大用处,主要是学习---->看资料说是代码在sram中运行会快一点,本人没有测试过学习过程有点
  • 2024-06-12C51学习归纳11 --- PWM原理、应用案例
        本节进入到一个更加常用的环节PWM的产生与应用,日常生活中,电机的使用非常普及,如何控制转速?其实就可以应用我的PWM。一、PWM的产生原理    PWM(PulseWidthModulation)即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需
  • 2024-06-11AES128-CMAC
    CMAC目录简介CMAC的工作原理CMAC示例简介CMAC(Cipher-basedMAC),基于密码的MAC,是一种基于密码的MAC算法,它基于块密码算法(如AES)和一个密钥来生成认证码。CMAC是一种对称密钥加密算法,通常与对称密钥算法(如AES)结合使用,以提供消息的完整性和真实性验证本文主要用于安全
  • 2024-06-11linux内存管理(四)- 用户空间的内存分配在kernel中的实现
    malloc是常用的用户态分配内存的接口,它会调用brk系统调用来请内存分配内存。下面看看该系统调用的实现。插一句,每次调用malloc的时候未必都会调用brk去从kernel分配实际的内存,因为每次系统调用都是有开销的,为了避免频繁的陷入内核,malloc会多申请一部分内存当作内存池,之后要申请内
  • 2024-06-11linux内存管理(六)- 内核新struct - folio
    folio大概是5.16引入的,看起来像是page的封装,这里有一篇讲解folio很好的博客,论好名字的重要性:Linux内核page到folio的变迁-CSDN博客structfolio{/*private:don'tdocumenttheanonunion*/union{struct{/*public:*/unsignedlon
  • 2024-06-11linux内存管理(二)- vmalloc
    个人笔记,谨慎观看.先看看vmalloc是怎么实现的。它能在非连续物理内存之上建立连续的虚拟内存映射。这里有一篇博客Linux内存管理(6)vmalloc-ArnoldLu-博客园(cnblogs.com)调用链vmalloc->_vmalloc_node->_vmalloc_node_rangevoid*__vmalloc_node(unsignedlongsize,
  • 2024-06-10C语言实战
    一、计算n的m次方(理论上只需要更改数组result[...]的元素个数,可以输出无穷大的结果)#include<stdio.h>#defineULLONG(unsignedlonglong)1000000000000000000ULLintmain(){ intn; intm; intcc=0;//监控循环次数 unsignedlonglongresult[10]={1,0,0,0,0,0
  • 2024-06-10移位运算绝佳的应用
    先想一下,如果要给你一个数对应的补码形式,你要计算这个数的1的数目,你有几种做法呢(针对负数的补码也是否能够计算呢):3种思路分享给你:整完看看后面的思考题,c一下first.voidOne(unsignedintn){//unsigned的运用intcnt=0;while(n>0){if((n%2==1))
  • 2024-06-09基于51单片机车速测量控制
    基于51单片机车速测量控制(仿真+程序)功能介绍具体功能:1.通过L298驱动直流电机模拟转动;2.LCD1602显示转动状态和速度;3.按键可以控制启动/停止、加/减速、正/反转;​演示视频:基于51单片机车速测量控制 添加图片注释,不超过140字(可选)程序#include<REG52.H>