自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 嵌入式复习

声明:告诉编译器类型、名称、参数(这个名字是什么),保证程序能通过编译。不分配内存定义:告诉编译器为它分配内存或提供实现体(这个名字在哪里),保证程序能被链接和运行。分配内存算法时间复杂度:执行算法所花时间的度量推导时间复杂度(用1取代所有常数,只保留最高阶,最高阶存在且不是1则去除最高阶的常数))<O(n^n)(最好到最坏)冒泡O(n^2),选择O(n^2),插入O(n^2)快排O(nlogn),堆排O(nlogn),归并O(nlogn)

2025-11-16 14:04:55 694

原创 DHT11-温湿度传感器

数据格式为:8bit 湿度整数数据+8bit 湿度小数数据+8bit 温度整数数据+8bit 温度小数数据+8bit 校验和,一共 5 字节(40bit)数据。DHT11 采用单总线协议与单片机通信,单片机发送一次复位信号后,DHT11 从低功耗模式转换到高速模式,等待主机复位结束后,DHT11 发送响应信号,并拉高总线准备传输数据。一次完整的数据为 40bit,按照高位在前,低位在后的顺序传输。响应:首先应等待复位的高电平结束(如果没结束),等待80us的低电平结束从机,等待80us的高电平结束。

2025-09-01 21:06:59 423

原创 Liunx内核驱动

5.拷贝rootfs到nfs目录下(拷贝rootfs.tar.gz到nfs服务目录下并解压,使用命令+sudo)sudo tar-xvfrootfs.tar.gz。3、在同层目录下修改Kconfig,添加一个hello的配置(只有Kconfig定义的配置才会出现在make menuconfig中)2、修改driver/char下的Makefile新加一行 ---(obj-$(CONFIG_HELLO)+=hello.o)设备号:内核维护设备驱动程序的数字(每个设备都有唯一的设备号)

2025-08-27 22:37:23 1588

原创 线程池模型

【代码】线程池---

2025-08-22 10:55:12 292

原创 C语言—指针(针对小白版)

/*(*(p+i)+j 在第一维的基础上访问第二维度,+j获得了内部一维数组int[4]中具体元素的地址,在此基础上继续做*运算,获得最终的数组元素。//*(p+j) 第一维度访问完成,此时整体代表内部的一维数组int[4]这种数组类型的数组名。1、字符串常量,存放在“字符串常量区”,字符串在C语言中,是按照字符数组的方式处理的。2、C语言处理指针数据:定义指针类型---对应处理的数据,是指针(地址)这种数据。4、p是指针类型数据,int * 表示这是指向int型数据的一类指针。

2025-08-19 15:27:38 744

原创 嵌入式硬件——ARM

CPSR:当前程序状态寄存器,运算的结果为0、正、负等,运算中产生的进位、借位等;链接(.o-app):关联各种符号信息,归并文件,将不可执行二进制文件转换成可执行二进制文件。立即数:一个数(或按位取反)循环右移2^n位后中所有的1能放进低8位中,#代表立即数。前四个参数用r0-r3传递,剩余的参数用栈传递(保护现场,恢复现场)1、最小系统:电源、时钟(晶振)、复位、内存、Flash、输入输出。预处理(.c-.i):宏替换,头文件展开,去掉注释,特殊符号的处理。RAM:随机存储,访问速率快,掉电数据丢失。

2025-08-12 20:03:13 1010

原创 嵌入式开发硬件——单片机

array[]里面存储的是0123456789abcdef,表示的数码管的abcdefg横线的1和0。1、16位定时器最大计数值65535,所以初值 =65535-50000=15536=0x3caf。特点:8位串行输入,8位串行或并行输出,100MHZ的移位频率,输出寄存器可以直接清除。清除TMOD的第2位(bit2)ROM(只读存储器):掉电数据不丢失,文件保存在这里,访问速率慢。LED模块显示的数字是从右往左看,且亮灯代表0,不亮灯代表1。电阻:负载作用,限制电流,排阻(104表示 10的3次方)

2025-08-07 19:59:02 1906 1

原创 线程间-数据缓存机制(线程邮箱)

(1)(2)定义邮件数据结构,包含发送者和接收者信息以及消息内容}MAIL_DATA;(3)定义队列节点结构,用于构建邮件队列}SeqQueue;(4) 定义线程节点结构,包含线程信息和邮件队列// 邮件队列头尾指针the_fun th;}LIST_DATA;(5)定义链表节点结构,用于管理所有线程}LINKLIST;(6)声明链表操作函数:初始化、遍历查找和添加节点。

2025-07-28 21:48:56 405

原创 Linux系统编程——数据库

(‘张%’:表示第一个是张,后面其他几个字符无所谓;‘张_’:表示第一个是张,后面只有一个字符)创建一个表 create table 表名(表字段1,表字段2,...);创建数据库:touch xxx.db sqlite3 xxx.db。关系型:MySQL,Oracle,SQL Serve,SQLite。列出当前指定的xxx表结构 .schema xxx。,它以库的形式直接集成到应用程序中,不需要独立的服务器进程。启动:sqlite3 xxx.db。

2025-07-28 21:10:41 473

原创 MQTT协议——消息队列遥测传输协议

6.2 接收到消息时的回调函数,打印接收到的消息主题和内容,释放消息和主题内存。topic[0]用于订阅回复消息,topic[1]用于发布属性消息。三、wireshark抓包MQTT协议包(订阅、心跳、连接)1、定义静态字符数组用于存储两个MQTT主题(发布和订阅)//2格式化JSON消息体(包含ID、版本、参数键值对)//3设置连接选项(保活间隔、清理会话、用户名密码)4、定义静态易变的交付令牌变量,用于消息确认?//1准备MQTT消息结构体。//5连接到MQTT服务器。//3发布消息到指定主题。

2025-07-26 17:06:38 330

原创 Linux系统编程——进程 线程

1、进程:进程是一个程序执行的过程,会去分配内存资源,cpu的调度。进程在内存上,程序在硬盘上。2、pcb(进程控制块)是一个结构体。包括如下内容: 3、进程和程序的区别4、进程的内存分布程序,属于文件,都在硬盘上,通过编译./a.out,分配内存堆区程序员申请,程序员释放ELF是linux的可执行程序,PE是Windows的可执行程序5、虚拟地址(./a.out),物理地址MMU:内存管理单元虚拟内存---mmu和页表--->物理内存6、进程的分类7、进程的作用:并发并发:单个CPU通过快速切换,实现多个

2025-07-25 21:03:34 683

原创 Linux系统编程——网络

客户端,从应用层发hello,经过传输层加tcp,网络层加ip,接口层加ip,变成一帧数据(mtu,最大传输单元1500字节,,分片?),经过互联网,到服务器逐层拆包,到服务器应用层输出hello.C/S:专用客户端,标准协议,自定义协议,功能复杂,大部分资源都在客户端(和本地客户端打交道)3、流式套接字:(有顺序、发送和接受的次数不需要对应,发的太快会出现写阻塞,数据之间没有边界)B/S:通用客户端,超文本协议,功能相对较弱,资源都在服务器,(和浏览器打交道)1、有链接(一次会话中,链接会一直保持。

2025-07-24 21:27:31 739

原创 网络编程——聊天程序实现

【代码】网络编程——聊天程序实现。

2025-07-24 21:26:43 355

原创 Linux系统编程——文件

如果从文件的指定位置向后偏移过程中已经超过了文件的当前末尾位置,则会自动以'\0'来填充文件内容,从而形成一种被称为"空洞文件" 的特殊文件。offset 要在文件内偏移的距离,单位字节。如果值为整数,则向文件末尾偏移,如果值为负数,则向文件开头偏移。将stream流文件中的文件指针从whence位置开始,偏移offset字节的长度。如果文件不存在,则创建文件。:获取当前文件流指针的具体位置,一般以文件开头到当前指针的字节数为返回值。w+:写读(文件不存在,则创建;w:写(文件不存在,则创建;

2025-07-10 21:30:06 735

原创 进阶——数据结构(针对小白版)

char sex;int age;int score;}DATATYPE;}LinkNode// 数组的数组名 存储datatype 类型的数据int clen;// 数组中有效元素的个数}LinkList;// 顺序表 表头结构char sex;int age;int score;} DATATYPE;int clen;char sex;int age;int score;} DATATYPE;int clen;

2025-07-06 19:06:36 1079 3

原创 C语言——2048游戏实现

【代码】C语言——2048游戏实现。

2025-06-29 11:41:04 270

原创 C语言——结构体、共用体和枚举

1、定义:如果一个变量只有几种可能的值,则可以定义为枚举类型,所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。8、枚举类型中的常量值默认从0开始,后续依次递增,但是可以指定常量的初值,如果指定了,后续没指定的是在指定的基础上依次递增的。**共用体各个成员的起始地址是一样的,但是因为各个成员变量本身类型大小不一样,最终能使用到的字节数是不一样的。4、枚举类型是把一组相关的常量组合到一个类型中,常量的值本质上是一个整型的数值,从0开始,依次递增。(共用体也考虑以最大的成员对齐)

2025-06-20 20:54:50 813

原创 C语言——位运算

软件控制硬件:通过软件实现对CPU相关寄存器中二进制位的控制,进而影响硬件上电平的高低变化。1、位指的是二进制位。用途主要用于系统软件开发、硬件操作控制、加密解密。^用做简单加密和不借助三方变量做两数交换 (浮点型数据,不能做位运算)有符号的右移:signed最高位补符号位(算术右移)无符号的右移:unsigned最高位补0(逻辑右移)(m>>n)将m中的二进制位,向右移动n位。(m<<n)将m中的二进制位,向左移动n位。计算一个int类型中有几个“1”最右边空出来的位置补0。

2025-06-19 16:57:26 377

原创 C语言—预处理命令

1、用一个指定的标识符来代表一个字符串#define 标识符 字符串#define 宏名 宏值宏名:自己定义的一个标识符宏值:表示宏名要代表的值,本身只是一个文本字符串(文本信息)预处理阶段:做文本原样的替换,用宏值替换宏名出现在" "的字符串中与宏名同名的标识符不会被替换宏的作用域:从定义处开始,到整个文件结束取消宏的作用域#undef 宏名的3 {\5 }else\6 {\8 }3、带参宏。

2025-06-12 09:07:18 382

原创 C语言—函数

一、函数基本概念1、思想:把大问题拆成小问题,小问题拆成更小的问题,拆到能直接解决的程度。一个问题基本上对应的就是一个函数。2、优势:将重复功能实现后,减少代码的重复编写,提高效率;提高项目的可维护性;高内聚,低耦合。3、函数的实现4、函数返回值,如果不需要,此时,设计为void表示为“ 空 ”,函数代码最后,往往也不需要return 语句。5、函数实现的位置放在main()函数之前,定义的同时也相当于声明了。放在main()函数之后,使用之前,一定要做函数的声明。

2025-06-09 20:46:07 213

原创 C语言—数组

比如:int a[10]>>int [10],含义a所代表的就是int[10]这种数据类型。二、部分初始化时,此时初始化的值会挨个给到前面的元素,后面的元素默认初始化为0。型最小值,这样初始化的目的是确保数组中的任何数都比它大,从而能被正确更新。思想:相邻两个元素,两两比较,小的放前,大的放后。五、数组不能整体赋值,能赋值的是数组的单个元素。1、去掉标识符,剩下的就是它对应的数据类型。四、数组长度是变量时,数组不能初始化。方法:依次把两个相邻的元素进行比较。思想:给合适的位置选择合适的数。

2025-06-04 21:01:23 220

原创 C语言—流程控制

printf,scanf,getchar等语句。

2025-05-30 19:39:43 144

原创 软件测试-面试(针对本人简历,有读者建议可评论,持续更新中~)

一、实习和项目。

2025-03-30 16:20:44 1737

原创 测试工程师日常实习

58/美团开发测试流程测试用例的设计方法设计和开发测试工具自动化测试框架能力1、请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试。

2024-05-29 11:48:22 770

原创 蓝桥杯软件测试5天冲刺

上述代码中通过 JS 中的 getElementById 方法定位到了蓝桥云课首页的输入框,并通过 value 属性,定义了输入框中的内容为 "Selenium"I 约束(或、包含):a、b、c 中最少有一个必须是 1,也就是 a、b、c 不能同时为 0,输入条件之间为包含关系。E 约束(异、互斥):a、b、c 中最多有一个可能为 1,也就是 a、b、b 不能同时为 1,输入条件之间为互斥关系。R 约束(要求):a 是 1 时,b 必须是 1,a 为 0 时,b 的值不确定。比如程序中的单选按钮。

2024-04-09 21:23:11 1179 1

原创 15届蓝桥杯(软件测试)单元测试专项练习解析【python篇】

15届蓝桥杯(软件测试)单元测试专项练习解析【python篇】

2024-03-22 23:32:40 1452 4

原创 软件测试学习(蓝桥杯备赛)

软件测试进行到一定程度就要进行测试评估了。通过测试评估生成的软件测试报告来确定测试是否达到了出口准则。

2024-03-04 22:24:20 3936 8

原创 第十五届蓝桥杯软件测试类备考(Python)

第十五届蓝桥杯软件测试组竞赛说明

2024-03-04 21:07:54 1867 3

嵌入式硬件PDF-ARM

嵌入式硬件PDF-ARM

2025-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除