Windows系统安装
Windows系统安装前言之前在学校硬件部时,装系统是使用PE操作系统进行辅助安装,现在尝试使用官方ISO镜像文件直接写入安装。目前U盘格式化有三种方式,其特点如下。
FAT32:单个分区不能超过32G,单个文件不能超过4G
exFAT:老旧设备无法识别
NTFS:老旧设备无法识别
安装系统时需要的设备:
容量至少为8G的U盘
能够正常操作的Windows系统电脑
磁盘存储数据的格式有两种:
MBR:Legacy引导
GPT:UEFI引导
官网下载安装工具首先到微软官网下载安装工具,因为我是在新电脑上安装,所以选择“创建 Windows 11 安装”,如下图所示。
制作Win11启动盘上一步下载完后会有一个 mediacreationtool.exe 文件,点击运行。
选择接受
选择语言和版本
选择U盘进行安装
确认盘符是否为选中的U盘。注意,此步骤会删除U盘内的所有文件,务必提前备份好重要文件
等待下载,下载完成后会把安装包写入U盘,等待写入完成,然后一直点击“下一步”:直至“完成”即可。
删除U盘EFI分区
删除U盘EFI分区使用U盘作为启动盘重装系统后,U盘会多出来一个EFI分区,记录一下如何删除EFI分区,恢复为正常U盘。
在开始菜单中找到 Windows系统文件夹的命令提示符,右键以管理员身份运行
输入“diskpart”并回车1diskpart
输入“list disk”并回车1list disk
通过容量来查看U盘位置,选中对应的磁盘并回车1select disk 2
输入clean并回车,如果显示失败就再输入一次clean并回车1clean
然后就可以发现U盘处于不可用状态
在桌面右键点击“此电脑”,选中“管理”,选中“存储”下的“磁盘管理”,点击选中“磁盘2”,右键“新建简单卷”,按默认选项一直点击“下一步”直至“完成”,然后U盘就恢复正常了。
摄影入门
摄影入门(1)单反与微单单反单反(Single Lens Reflex)全称为“单镜头反光式取景相机”。单镜头顾名思义就是这个相机只安装了一个镜头;反光式取景要求机身里有一个反光板和五棱镜,取景时光线穿过镜头,再通过反光板和五棱镜的反射到达取景器,摄影者便可以在取景器中看见镜头拍摄的图像。因为它是纯粹的光学取景方式,因此关机也能从取景器看见图像,其光路如下图所示。
微单微单(Mirrorless Interchangeable-lens Camera)又被称为无反相机,是无反光镜的可换镜头相机。其内部没有反射镜,采用电子取景,光线穿过镜头不经任何反射直接投影在传感器上,摄影者依靠显示屏或电子取景器来观察画面。
区别单反与微单的本质区别是取景结构的不同。单反是采用光学取景结构的可换镜头相机,机身内部有反光镜和五棱镜;微单则是采用电子取景结构的相机,机身内部既没有反光镜,也没有五棱镜。它们的对比图如下所示:
曝光三要素曝光是指用来计算从景物到达相机的光通量大小的物理量,图像传感器只有获得正确的曝光,才能得到高质量的照片。在传统的胶片相机中,通过快门的开启,不同的明暗光线使人,景 ...
电流检测电路(未完待续)
8b964abdcbe4167494dfe5c8bfb76b0869e90686022ef342a659427b57a83d1842e33df6bcfa4d9982dec9c958b4211fb46ce7ec77d540bfd956cd651bf52a636bebd07aea1cfa1376e5d4117b906221701474919baa650458a28578e0c793722f61f6173ab49413b40066ab8b1e50f21032468d163cd9429328df8afdf32f5db0a451399d4f7bb2a17348af8f5b7cc8a73971558a31e00705d15d05c14f66678c7a2c268c1ada0ed1f6fa6217630db1b4895d4c986fcb539ae73c82cea79e3f3f0b8bb39bf92f6d58c5a1fe4fb42bd2fded1410043ba2e4782b282eebf44114f214e5dcd846181ed35c75f1cbbe789a95a8923e3357681cc ...
ESPIDF-WIFI系列(1)
ESPIDF-WIFI系列(1)WIFI概述Wi-Fi 库支持配置及监控 ESP32 Wi-Fi 连网功能。支持配置:
station 模式(即 STA 模式或 Wi-Fi 客户端模式),此时 ESP32 连接到接入点 (AP)
AP 模式(即 Soft-AP 模式或接入点模式),此时基站连接到 ESP32
station/AP 共存模式(ESP32 既是接入点,同时又作为基站连接到另外一个接入点)
上述模式的各种安全模式(WPA、WPA2 及 WEP 等)
扫描接入点(包括主动扫描及被动扫描)
使用混杂模式监控 IEEE802.11 Wi-Fi 数据包
基站模式(又称 STA 模式或 Client 模式):将 ESP 连接到附近的 AP,此时相当于 ESP 在蹭网。
AP 模式(又称 Soft-AP 模式或 Server 模式):将 ESP 设置为 AP,可供周围设备连接,此时相当于ESP 开热点。
AP-STA 共存模式:ESP32 既是接入点,同时又作为基站连接到另外一个接入点,此时相当于 ESP 连着隔壁 wifi 开热点给自家用。
AP模式在 AP ...
ESPIDF-ADC
ESPIDF-ADC概述ESP32 集成了 2 个 12-bit SAR(逐次逼近寄存器) ADC,共支持 18 个模拟通道输入。为了实现更低功耗,ESP32 的 ULP 协处理器也可以在睡眠方式下测量电压,此时,可通过设置阈值或其他触发方式唤醒 CPU。通过适当的设置,最多可配置 18 个管脚的 ADC,用于电压模数转换。
ADC通道
ADC1123456789101112/**** `adc1_channel_t` will be deprecated functions, combine into `adc_channel_t` ********/ typedef enum { ADC1_CHANNEL_0 = 0, /*!< ADC1 channel 0 is GPIO36 */ ADC1_CHANNEL_1, /*!< ADC1 channel 1 is GPIO37 */ ADC1_CHANNEL_2, /*!< ADC1 channel 2 is GPIO38 */ ADC1_CHANNEL_3, /*!< A ...
凸包
凸包前置知识凸多边形与凸包在了解凸包之前需要先了解凸多边形 (Convex Polygon)。直观的来看,一个凸多边形就是没有任何凹陷位的多边形,例如三角形、正方形、平行四边形、正五边形、正六边形等等。但是下面的这个“凸”字形却并非凸多边形,因为箭头所指之处实际是一个凹陷位。在数学上,凸多边形有另一个严格的定义。假设在一个多边形上(包括多边形的边界及边界围封的区域)任意取两点,并以一条线连接该两点,如果线段上的每一点,均在该多边形上,那么我们便认为这个多边形是凸多边形。根据上述定义,便可以判断“凸”字形并非凸多边形,下图连接 A、B 点的线段有一部分并不在该多边形上。
凸包概念在了解了凸多边形之后,便可深入凸包 (Convex Hull)了。给定平面上的一个有限点集,这个点集的凸包就是包含点集中所有点的最小面积的凸多边形。用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边型,它能包含点集中所有的点。例如下图的点集共包含了12个点,图中的五边形便是该点集的凸包,构成五边形的五个点称为“凸包上的点”,其余点并非“凸包上的点”。
向量叉乘定义$$\ve ...
自制 ESP32 开发板
自制 ESP32 开发板前言老早之前就想做一个 ESP32 开发板了,可由于种种原因总是没时间搞,在这大四的最后一学期,终于闲的有时间搞了,可算是千呼万唤始出来。也是废了老多时间了。想着单独画个 ESP32 东西太少了,有点浪费立创每月仅有两次的免费打样机会,于是又加了自动下载模块和电池管理模块。可以说是为了这一碟醋,又包了一碗饺子。
自动下载模块原本想着集成到 ESP32 板子上,但感觉有点浪费,于是给他独立出来了,详情见这篇博客。
电池管理模块电池管理芯片选的是 IP5306,主要优点就是集成了升压转换器、锂电池充电管理和电池电量指示,最重要的是内置电源路径管理,支持边充边放。根据数据手册提供的原理图,单独对该模块进行了打样验证。
原理图
PCB
实物图
ESP32 开发板开发板引出了 TX0、RX0、EN、IO0 接口进行下载,和自动下载模块是匹配的,可以直接进行连接。芯片的全部引脚都已引出可供使用。使用 MicroUSB 进行供电和充电。三个按键分别控制电源管理、RESET 和 BOOT。
BATTERY 按键:
按键持续时间长于 50ms,但小于 ...
ESP32 自动下载模块
ESP32 自动下载模块前言之前在这篇博客中分析了 ESP32 自动下载电路的具体细节,据此画了块板进行下测试,现已打样验证,开源链接见立创。
模块介绍描述使用 CH340C 芯片进行下载,采用 MicroUSB 主要是因为手头刚好有料,要不然就换成先进的 typeC 了。实物上的 TX 误画了一个电阻,用了一大坨锡给短上了,在原理图和 PCB 中都已经更正。
下载时序图通过逻辑分析仪,抓取下载时的电平如下图所示。EN 上升沿和 IO0 下降沿的局部放大图如下所示。
原理图模块原理图如下所示。
PCB模块 PCB 图如下所示。
实物图模块实物图如下所示。
链表多级菜单
链表多级菜单前言闲来无事,整理了一下智能车时期的相关文件,无意中看到了当时写的菜单,主要用来显示车速、陀螺仪角度、裁判系统发送数据以及最重要的调节参数。当时用的是索引法,修修改改的感觉比较麻烦,重新用链表写了一个多级菜单的框架,可以快速添加子目录和绑定功能函数和显示函数,便于以后使用。
介绍菜单结构在多级菜单中。不同级的目录有上下级关系,同级目录中也有上下级的关系,同级位号是为了确认该级目录的个数,在后面的显示和控制部分会用到,功能函数绑定和显示函数绑定则是为了有更大的自由度。
1234567891011typedef struct menu{ struct menu* last; // 父级菜单 struct menu* next; // 子级菜单 struct menu* equal_last; // 同级上一项 struct menu* equal_next; // 同级下一项 int number; // 同级位号 const char* name; // 名称 void (*function)(int); // 功能函数绑定 void (*Show ...