• 2024-09-15sign与unsigned的原理、数据存储与硬件的关系
    目录关键字unsigned和signed数据在计算机中的存储原码与补码的转化与硬件关系原,反,补的原理:整型存储的本质变量存取的过程类型目前的作用十进制与二进制快速转换大小端字节序判断当前机器的字节序"负零"(-128)的理解截断建议在无符号类型的数值后带上u,关键字unsigned和signe
  • 2024-09-1551单片机-DS1302(实时时钟+可调时钟)(可参考主页上一节内容介绍)
    作者:王开心时间:2024.9.10目的:手撕51main.c#include<REGX52.H>#include"LCD1602.h"#include"DS1302.h"#include"Key.h"#include"Delay.h"#include"Timer0.h"unsignedcharKeyNum,MODE,TimeSetSelect,TimeS
  • 2024-09-14数据类型与底层原理
    数据类型与底层原理数据结构哈希表redis使用链式哈希来解决哈希冲突,其Hash表实质上是一个二维数组,其中每一项就是一个指向哈希项(dictEntry)的指针typedefstructdictht{dictEntry**table;//二维数组unsignedlongsize;//Hash表大小unsignedlongsizemask
  • 2024-09-14RFID射频模块(MFRC522 STM32)
    目录一、介绍二、传感器原理1.原理图2.引脚描述3.工作原理介绍三、程序设计main.c文件MFRC522.h文件MFRC522.c文件四、实验效果 五、资料获取项目分享一、介绍        RC522RFID射频模块是一款广泛应用于非接触式RFID系统中的核心组件,由NXP(前身为Phil
  • 2024-09-1420240909_151725 c语言 整数扩展
    完整形态类型后根int有无符号unsigned%u使用%u会约束输出无符号数据。如果是一个负数就会显示出错。使用%d可正常显示数据整数小结
  • 2024-09-13lesson04-设计初始化bss段、读写寄存器值的汇编函数
    在内核启动时需要将bss段的所有数据清0,这里就需要memzero函数。.globalmemzero;全局可见memzero:strxzr,[x0],#8subsx1,x1,#8b.gtmemzeroret内核启动时需要经常读写soc内部寄存器的值,这里就需要用到对应的函数put32和get32。.globalput32
  • 2024-09-13信息学奥赛初赛天天练-88-CSP-S2023阅读程序1-数据类型、unsigned 关键字、二进制、位运算、左移、右移、异或运算
    信息学奥赛初赛天天练-88-CSP-S2023阅读程序1-数据类型、unsigned关键字、二进制、位运算、左移、右移、异或运算PDF文档公众号回复关键字:202409132023CSP-S阅读程序1判断题正确填√,错误填⨉;除特殊说明外,判断题1.5分,选择题3分,共计40分)01#include<iostream>
  • 2024-09-1251单片机 - 蜂鸣器按键提示音代码
    作者:王开心main.c#include<REGX52.H>#include"Delay.h"#include"Key.h"#include"Nixie.h"#include"Timer0.h"#include"Buzzer.h"unsignedcharKeyNum;voidmain(){ Nixie(1,0); while(1)
  • 2024-09-11C++ 不要将有符号整数和无符号整数相加
    一有符号整数和无符号整数相加时,把负数转换成无符号数类似于直接给无符号数赋一个负值,结果等于这个负数加上无符号数的模。unsignedintn=300;intm=-500;cout<<m+m<<'\n';cout<<n+m<<'\n';输出:-1000//正确4294967096//错误结果做个类型
  • 2024-09-11基于单片机设计的水平仪(STC589C52+MPU6050)
    一、前言【1】项目背景水平仪是一种常见的测量工具,用于检测物体或设备的水平姿态。在许多应用中,如建筑、制造和航空等领域,保持设备的水平姿态是非常重要的。为了实现实时的水平检测和显示,基于单片机设计的水平仪是一个常见的解决方案。数字水平仪是一种用于测量物体相对于水平面的
  • 2024-09-07彻底理解字节序
    1.基本理论计算机发送数据从内存低地址开始.计算机接收数据的保存从低地址开始.2.非数值型网络数据传输如上图例子所示,发送端发送了四个字节内容,分别为0x12,0x34,0x56,0x78,假设这四个字节不表示数值例如unsignedint,而是图片内容数据。发送端从低内存地址开始发送四个字节,
  • 2024-09-06【STM32项目设计】STM32F411健康助手--MPU6050陀螺仪驱动(6)
    硬件设计 软件设计此项目使用的是软件I2C,MPU6050的SCL连接到STM32的PB10,SDA连接到STM32的PB9mpuiic.c#include"mpuiic.h"#include"delay.h"//MPUIIC延时函数voidMPU_IIC_Delay(void){ delay_us(2);}//初始化IICvoidMPU_IIC_Init(void){ GPIO_Init
  • 2024-09-03【c】结构体内存对齐的规则
    规则一、成员变量内存相对起始位置为数据类型所占内存的整数倍(例如:int类型数据相对起始位置必须是结构体中4字节的整数倍),若不足则需要对齐不足部分的内存(内存补充给前一个变量)。二、结构体所占总内存为其成员变量中所占空间最大数据类型的整数倍。三、结构体中每个成员相对
  • 2024-09-03nowcoder Round 58
    A签到#include<bits/stdc++.h>typedeflonglongll;usingnamespacestd;constintN=2e6+4;voidsolve(){ doublea,b; std::cin>>a>>b; if(a>=b)std::cout<<"NO"<<'\n'; elsestd::cout
  • 2024-09-01正点原子Linux Framebuffer编程:解决示例程序在开发板上LCD显示错位和颜色异常
    正点原子LinuxFramebuffer编程:解决示例程序在开发板上运行7寸LCD显示错位和颜色异常作者在学习【正点原子】I.MX6U嵌入式LinuxC应用编程指南V1.4时,发现其配套的程序在开发板上运行不正常。使用的硬件版本:正点原子I.MX6UALPHAV2.4版本底板,LCD:正点原子7寸1024*600,型号ATK-MD0
  • 2024-09-01新赛道-2024.8 CSP-J组月赛-T1总结
    题面:王老师最近做了一道经典问题《翻纸牌》现在王老师有 n 张牌,编号分别为 1,2,3…n,每张牌一开始都是背面朝上的现在他要进行 n 轮操作,第 i 轮操作时候,他会将所有编号是 i 的倍数的牌正反翻面现在王老师想知道,当他进行完 n 轮操作以后,所有正面朝上的牌的编号
  • 2024-08-31关键字之sizeof
    接下来我讲的是之前我提到过的C语言关键字sizeof同时它也是C语言提供的操作符(运算符)它的使用形式有两种1sizeof(类型)2sizeof表达式sizeof返回某种数据类型或某个值占用的字节数量,它的参数可以是数据类型的关键字,也可以是变量名或某个具体的值。sizeof不仅仅可以计算
  • 2024-08-31关键字之signed和unsigned
    生活中的我们发现数据只有正数,比如:年龄,体重,等,但有些数据是有正负数的,比如:温度,海拔等,那么C语言中如何表达正负数呢?1.signed和unsignedC语言引入signed和unsigned关键字来修饰char、short、int、long等整型家族的类型。使用signed关键字,表示一个类型带有正负号,包含负值。使用
  • 2024-08-30Linux驱动学习之input子系统
    简介input子系统就是管理输入的子系统,和pinctrl、gpio子系统一样,都是Linux内核针对某一类设备而创建的框架。按键、鼠标、键盘、触摸屏等都属于输入设备,linux内核为此专门做了一个叫做input子系统的框架来处理输入事件。输入设备本质上还是字符设备,只是在此基础上套上了
  • 2024-08-28C语言位运算
    在C语言中,位运算是对二进制位进行的操作。以下是关于C语言位运算的介绍:一、常见的位运算符按位与(&):规则:两个对应的二进制位都为1时,结果位为1,否则为0。例如:5(二进制为0101)与3(二进制为0011)进行按位与运算,结果为0001,即1。按位或(|):规则:两个对应的二进制位只要
  • 2024-08-28【Linux网络编程】字节序
    【Linux网络编程】字节序字节序字节序就是字节在内存中存储的顺序,如32位整数0x01234567,在内存中存储时,有如下两种顺序:大端序将数值的高位存储在低位地址中,小端序则相反。网络字节序网络中传输数据均采用大端序。Linux字节序转换函数在#include<netinet/in.h>中提供了4
  • 2024-08-25新员工一口气写完了这些C语言例子,领导给他转正了!
    持续更新中...很多想从事嵌入式Linux开发的老铁问一口君,有没有快速提升自己编程水平的小例子?一口君根据自己多年工作经验,整理了一些基于Linux的c语言的非常实用的小例子,这些例子在嵌入式开发工作中,或多或少都会用到。看看你们会做多少?一、基础C语言1.排序算法给指定数组排
  • 2024-08-24【读书笔记-《30天自制操作系统》-8】Day9
    本篇的主题围绕着内存管理进行展开。首先编写了内存容量获取的程序,接下来详细讲解了内存管理的具体内容,以及两种实现内存管理的方式。1.内存容量获取前面已经实现了访问内存的扩展,能够使用的内存大大增加了。但是不同的应用程序在运行时,对内存的使用会有不同的要求,这就需
  • 2024-08-23P3793 由乃救爷爷
    题意给定一个长度为\(n\)的序列(\(1\len\le2\times10^7\)),对于每组询问\([l,r]\),找到其区间最大值,并进行累加。思路\(n\)太大,不能用ST表/线段树,考虑以下表为键值,数值为优先级建出笛卡尔树。对于左右两个端点\([l,r]\),我们从笛卡尔树顶端往下跑,找到一个\(l\le
  • 2024-08-23usb请求块以及提交方式
    URB结构体structurb{/*private:usbcoreandhostcontrolleronlyfieldsintheurb*/structkrefkref;/*referencecountoftheURB*/void*hcpriv;/*privatedataforhostcontroller*/atomic_tuse_count;/*