自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 网络通讯安全认证:密钥签名、数字证书与 HTTPS/TLS 流程详解

文章系统讲解公钥私钥、数字签名、数字证书信任链原理,完整拆解 HTTPS 的 TLS 握手加密全过程,对比 TLS1.2/1.3 特性,解答证书、双向认证等高频安全误区,打通网络加密通信底层知识体系。

2025-10-02 17:01:45 1099 2

原创 【Cortex-M内核篇】--自复位

本文深入探讨了ARM Cortex-M内核的复位机制,包括三种复位类型:上电复位(影响整个芯片)、系统复位(影响处理器和外设)和处理器复位(仅影响核心)。文章详细介绍了通过CMSIS接口实现软件复位的方法,解析了复位流程的三个关键步骤:初始化栈指针、获取复位向量和执行系统初始化。此外,还通过KEIL调试示例展示了复位过程,并分析了启动文件和栈顶指针的计算原理,解释了实际栈顶地址与理论值的差异原因。这些知识对嵌入式系统开发和调试具有重要指导意义。同时也是做个记录,后续自己方便查看

2023-03-30 15:50:30 2682

原创 【网络篇】TCP SYN Flood Attack(洪水攻击)

文章摘要: SYN Flood攻击是一种典型的DoS攻击,通过伪造大量TCP连接请求(SYN包)但不完成三次握手,使服务器维持半连接状态,耗尽系统资源(内存、CPU、队列槽位),导致服务不可用。其核心是滥用TCP协议的三次握手机制,攻击者不回复服务器的SYN-ACK响应,使服务器资源被长期占用。防御措施包括操作系统优化(如启用SYN Cookie机制,动态验证连接合法性)、网络设备防护(防火墙限速、负载均衡)和应用层策略(IP黑名单)。其中,SYN Cookie通过无状态验证避免资源分配,是高效且兼容性强的

2022-11-21 08:02:10 2007

原创 【嵌入式-ESP32篇】使用CoreDump将异常信息存储到flash以及打印到串口

esp32 coredump介绍:当esp32运行程序时出现异常,会进入异常中断,导致复位重启。若配置了coredump,则会将错误信息存储到flash中,或者打印到串口上,供用户能够分析和查找对应的异常位置。

2022-06-30 20:46:16 3726

原创 【前端-网页篇】HTML拼接URL实现不同IP下访问网页文件

在局域网内实现浏览器获取嵌入式控制板的网页,之前都是把URL路径的IP写死,如要访问一个js文件,路径为:192.168.0.81/jquery/jquery.min.js但是控制板若开启DHCP,则会自动分配IP,这个时候路径就发生了错误。所以才想到拼接URL,就是想适应不同IP也能够访问到文件

2022-04-20 01:11:15 1346

原创 【嵌入式-ESP32篇】msys32常用的指令以及快速定位error提示

使用msys32常用的指令记录

2022-04-11 09:55:05 1254

原创 【前端-网页篇】Javascript数组数据转字节的方法

Js实现数组数据转换成字节的形式存储

2022-04-10 22:28:37 2734 1

原创 【前端-网页篇】JavaScript下载文件到本地的方法总结

如果网页端js要实现文件数据生成,并能下载保存文件到本地,总结了三个下载保存文件的方法

2022-04-03 16:06:09 4118

原创 【HTML网页】- Iconfont图标从下载到彩色图标显示

本文介绍了阿里巴巴矢量图标库Iconfont的使用方法。首先访问官网选择图标并下载文件包,包含字体文件、CSS和JS等资源。详细讲解了两种图标显示方式:Unicode方式用于显示黑白图标,通过CSS控制颜色;Symbol方式支持彩色图标显示,不受字体颜色影响。文章提供了完整的HTML和CSS代码示例,指导用户如何正确引用图标文件并设置样式,帮助开发者快速在网页中集成Iconfont图标资源。

2021-08-12 23:31:46 5011

原创 【python篇】tkinter导入ttk后报错,ImportError: cannot import name ‘ttk‘

import tkinter as tkfrom tkinter import ttk导入import tkinter as tkfrom tkinter import ttk之后报错显示:ImportError: cannot import name ‘ttk’原因在于创建了一个python文件,命名为tkinter.py,导致和模块重名了,修改文件名字后,正常运行。...

2021-01-17 23:38:48 4149 1

原创 【C语言篇】结构体字节对齐

struct tag_Program0{ int a; //4字节 char b; //1字节 double c; //8字节 long int d; //4字节};struct tag_Program1{ int a; //4字节 char b; //1字节 double c; //8字节 long int d; //4字节 struct tag_Program0 PP; //24字节}P;第一个结构体tag_Program6的存储结

2020-05-12 22:59:56 445 2

原创 【Python篇】使用turtle绘制i love you

import turtleturtle.setup(1000,650,300,100)turtle.penup()turtle.goto(-400,100)turtle.pendown()turtle.pensize(10)turtle.speed(3)#Iturtle.pencolor("red")turtle.fd(60)turtle.penup()turtle.bk(...

2020-05-03 01:40:19 2063 2

原创 【Python篇】AttributeError: ‘pygame.Surface‘ object has no attribute ‘rect‘

函数定义的位置形参与调用函数的实参顺序不对应产生的错误。

2020-03-10 22:53:10 10259 7

原创 【计算机篇】微机原理学习笔记-BCD码

BCD码组合BCD码和分离BCD码1.组合BCD对于组合BCD的运算结果采用+6来调整结果问:为什么+6答:因为4位二进制超过15才进位,而十进制超过9就进位,加6则让系统强制性进位。如果得到的结果后四位不大于9,但是进位了,这时候往前4位多进了6,所以要对后四位加6,把多进的6补回去。2.分离BCD...

2020-01-16 00:45:06 3125 1

原创 【计算机篇】微机原理学习笔记-二进制转化为十进制

除10取余法二进制转化为十进制(除10取余法)除10取余法中,对于二进制转化为10进制来讲要除于1010,就是把10转化为二进制数,再用二进制数除于1010例如:二进制11101除于1010,余数1001,转化为十进制数为9,这个是相当于十进制数的个位,再用中间商0010再除于1010,余数为0010,转化为十进制数为2,相当于十进制数的十位。...

2020-01-14 00:42:36 9627 6

原创 【C语言篇】学生成绩管理系统

学生成绩管理系统main.cStudent_Manage_Sys.cStudent_Manage_Sys.h运行过程添加记录显示记录修改记录删除记录查找记录排序记录main.c#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include "Student_Manage_Sy...

2019-12-12 15:40:18 4486 5

原创 【嵌入式-STM32篇】STM32-矩阵键盘

STM32-矩阵键盘塑料4*4矩阵键盘矩阵键盘扫描函数void Matrix_Test(void){ uint16_t Temp; uint8_t key; /*****************第一列检测********************************/ Write_Date(KEY_GPIO_PORT,0x1FC0); //向GPIO写入值,C5~C12为111...

2019-12-02 23:07:36 2217 1

原创 【C语言篇】为什么数组&a+1是偏移一整个数组?

在C语言中,&a + 1与a + 1的偏移量不同,这是因为指针类型决定了运算步长。对于数组int a[5]: a 退化为指向首元素的指针(int*),a + 1偏移一个int大小(4字节)。 &a 是数组指针(int(*)[5]),&a + 1的步长为整个数组大小(5 * sizeof(int)=20字节)。 两者的地址值相同,但类型不同导致运算差异。类似地,int arr[5][5]中,arr是int(*)[5]类型,而&arr是int(*)[5][5]类型。实验验证了指针加减的步长由类型决定,这是理解数

2019-11-28 22:57:40 1622 2

旋转编码器

1.旋转编码器的工作原理介绍。 2.UVW信号增量型编码器。 3.附带aduino的程序测试代码。

2018-08-01

空空如也

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

TA关注的人

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