- 博客(401)
- 问答 (1)
- 收藏
- 关注
原创 SPI协议软件实现 & W25QXX flash 存储器
特性说明速度最高可达 104MHz(SPI),可选 Quad SPI 模式擦除寿命每个扇区支持约 10 万次擦写掉电保存非易失性,断电数据仍然保留尺寸小常用 SOP-8、WSON、USON 等封装广泛使用常见于 STM32、ESP32、FPGA、WiFi 模块、路由器等产品中#include <your_gpio_driver.h> // 替换为实际的GPIO操作头文件// 初始化 GPIO 方向// 设置 SCK, MOSI 为输出,MISO 为输入// 拉低 CS。
2025-05-21 15:07:17
917
原创 I2C 协议的理解以及在 OLED 上的应用
$I^2C$(Inter IC Bus)是由Philips公司开发的一种通用数据总线,使用两根通信线(SCL和SDA)进行同步、半双工通信,并支持多设备挂载。其硬件电路要求所有设备的SCL和SDA线连接在一起,并配置为开漏输出模式,同时需添加上拉电阻。$I^2C$协议的基本时序单元包括起始条件、终止条件、发送/接收字节、发送/接收应答等操作。OLED屏幕的驱动芯片SSD-1306通过$I^2C$协议进行通信,屏幕由8页128列组成,每列8个像素点,数据传输以字节为单位。通过$I^2C$协议,可以实现对OLE
2025-05-20 15:28:20
1005
原创 GPIO输出模式
模式描述应用场景模拟输入模式,通常用于 ADC 输入传感器输入,模拟信号处理浮空输入模式,电平不稳定,易受干扰不稳定的输入信号读取带下拉电阻的输入模式,输入低电平时引脚拉低按钮输入,避免浮空状态带上拉电阻的输入模式,输入低电平时引脚拉高按钮输入,避免浮空状态开漏输出模式,输出高电平时由外部上拉电阻拉高I2C 总线,1-Wire,总线通信推挽输出模式,能够提供较强的输出驱动能力,输出高低电平LED 控制,继电器驱动等复用开漏输出模式,适用于 I2C 等总线通信协议I2C 总线,复用功能。
2025-04-17 16:37:30
1438
原创 开漏输出和推挽输出
推挽输出:有两个晶体管控制电流,可以同时输出高电平和低电平,适用于需要驱动较大负载的场合。开漏输出:仅使用一个晶体管,输出高电平时通过上拉电阻实现,适用于总线通信、多个设备共享一个信号线的场合。参考:https://blog.youkuaiyun.com/weiqifa0/article/details/115191377。
2025-04-17 13:15:38
1892
原创 上下拉电阻理解
和是外部电阻,它们的作用是确保输入引脚在没有外部信号时的电平是已知的,避免引脚浮空,导致不稳定的电平状态。:当输入引脚没有外部信号时,确保引脚处于高电平状态。常用于按钮输入,当按钮未按下时引脚处于高电平,按下时引脚连接到地。:当输入引脚没有外部信号时,确保引脚处于低电平状态。常用于按钮输入,当按钮未按下时引脚处于低电平,按下时引脚连接到电源。这两种电阻确保引脚在没有外部输入信号时有明确的电平状态,防止引脚处于不确定状态。
2025-04-17 10:49:20
578
原创 记录一个坑关于STM32 ARM Compiler Version
在用 Keil 进行 STM32 开发的时候,一开始下载,下载的 ARM 编译器是 Version6,他就不兼容老的代码,就很抽象。选择安装的编译器version5的地址就好了。,也可以自己找资源哈(所以必须要更换编译器。可以去官网下载编译器。后面就是添加编译器了。
2025-04-16 19:45:58
904
原创 为什么要给单片机植入操作系统
给单片机植入操作系统(通常是实时操作系统,RTOS)主要是为了在资源有限的环境中实现更高效、更可靠的多任务管理和系统调度。通过植入操作系统,开发者能更专注于业务逻辑,而非底层细节,从而提升开发效率和系统可靠性。
2025-04-10 11:00:56
1181
原创 通过 SSH 方式访问 GitHub 仓库
我们来一步一步讲解如何让 Git,包括从零开始的详细步骤,适用于大多数系统(Linux、macOS、Windows Git Bash)。注意最好只用 Git bash 比较好!他能够直接在 Windows 系统上面使用一些 Linux 命令,很方便!
2025-04-09 22:39:46
761
1
原创 PGA 简介
PGA(,可编程增益放大器)是一种,常用于需要灵活调节信号放大倍数的应用中,比如在模拟信号采集、数据转换(如 ADC 之前)、传感器接口电路等场景中。
2025-04-09 21:18:00
949
原创 示波器上的交流直流耦合
如果测量一个带有直流偏移的正弦波信号(例如 2V 直流偏移 + 1V 正弦波),在。是两种不同的信号测量模式,它们的区别在于如何处理信号中的。🔹 如果你关心信号的。(直流偏移被去掉)。
2025-04-01 16:17:27
1272
原创 deadsnakes
deadsnakes是一个方便的工具源,适合需要在 Ubuntu 上管理多版本 Python 的用户。使用前确保理解其非官方的性质,并根据项目需求权衡是否使用。
2025-03-27 16:59:36
448
原创 关于油猴使用时注意
最近想基于油猴写一个网页监控的脚本,但是脚本内容写好了,可以我死活调试不出来效果,甚至连`console.log();最后在反复检查的过程中看到了,使用基于油猴的脚本一定要打开开发者模式!在谷歌上面的话直接允许开发者模式就好了。记得勾选完以后进行更新即可。在Edge中注意要允许油猴读取URL。
2025-03-27 12:36:28
235
原创 Transformer的理解
Transformer模型完全基于注意力机制,没有任何卷积层或循环神经网络层。尽管Transformer最初是应用于在文本数据上的序列到序列学习,但现在已经推广到各种现代的深度学习中,例如语言、视觉、语音和强化学习领域。Transformer作为编码器-解码器架构的一个实例,其整体架构图如下展示。正如所见到的,Transformer是由编码器和解码器组成的。
2025-03-26 20:44:33
1063
原创 注意力机制
对于注意力机制我觉得最直观的一个理解是这样的:一个物体摆在面前,这个物体就可以认为是上面所说的一个值(Value,V),然后这个物体有一定的自然属性,这就是他的键(Key,K),本身键和值是一一对应的,而当我们加上一定的主观意识(我们平时生活中遇到这个物体时能够经历的一些过程),这个意识就是查询(Query,Q),加上意识以后经过我们大脑的一个处理,我们脑中就会形成对于这个物体的另外一个认识(值(幸运的是,人类的祖先已经从经验(也称为数据)中认识到“并非感官的所有输入都是一样的”。这里重点解释一下为什么。
2025-03-26 19:41:20
710
原创 51单片机程序变量作用域问题
第二个程序因违反C89的变量声明位置规则而报错,修正声明位置即可解决。全局变量不受此限制,因而第一个程序能正常运行。
2025-03-20 17:28:30
346
原创 关于 51 单片机显示多个数码管时出现残影
残影现象:出现残影代码:原因分析位选与段选切换不同步(main):缺乏消隐处理:动态扫描时间不足:解决方案,在设置玩显示以后,直接把数码管的显示清空就不会有残影了,并且延迟显示一下:
2025-03-20 15:35:32
462
原创 关于按键抖动现象
关于按键抖动现象背景,在学习 51 单片机的时候,用按键控制 LED 灯的亮灭,按一次后亮灭会进行替换,当我写好程序以后,没有想到有时候按下去按键能够灵敏,有时候却不灵敏。所以为什么???在电子设备中,按键是一种常见的输入设备,用于用户与设备之间的交互。然而,按键在被按下或释放时可能会出现"按键抖动"的现象,导致多次触发输入信号。
2025-03-19 17:29:14
645
原创 第一次烧录51单片机的烧录不了的问题
视频中进行代码烧录的时候选择的单片机型号是 STC89C52型号,然后打开程序文件直接进行烧录,然后重启板子烧录成功。江协科技 51 单片机关于点亮 LED 第一次烧录程序的问题。然后导入程序,然后重启板子就可以烧录成功了。要看看自己的型号和视频的是否一致!我同样的操作却失败了,为什么?原因:单片机型号选择不对!直接就是 STC89C52。所以一定要单片机型号一致!
2025-03-19 15:00:56
720
5
原创 消融实验(Ablation Study)
消融实验是一种科学研究方法,通过逐步移除模型、算法或系统中的某个组件(如模块、层、特征、数据等),观察其对整体性能的影响,从而验证该组件的必要性和有效性。其名称来源于医学领域的“消融术”(切除部分组织以研究功能),在计算机视觉、机器学习和深度学习中被广泛用于分析模型设计。
2025-03-18 22:13:15
1459
原创 Cadence学习笔记4
与PCB制造流程相关,如钻孔图、装配图、尺寸标注等,用于生成Gerber文件和钻孔文件。Etch:对应实际铜层(如TOP、BOTTOM、内层),管理走线、铜皮等电气连接。:定义PCB边框(Outline)、尺寸标注、板厚等物理结构信息。:管理封装物理结构,如焊盘、丝印(Silkscreen)、装配外框(Assembly)。Pin:控制元件引脚的位置和电气属性。:限制布线区域,确保信号完整性或避开机械干涉。:定义元件允许或禁止放置的区域。:管理过孔类型(盲孔、埋孔)及禁止过孔区域。
2025-03-15 17:56:42
1001
原创 Cadence学习笔记3
通过区域规则,可局部调整线宽、间距、过孔类型或禁止特定操作(如布线、打孔)。例如:在CPU周围设置更严格的线距以防止干扰,或在散热片下方禁止放置元件。
2025-03-14 23:32:49
1199
原创 Cadence学习笔记2
SMD Pin主要关注顶层或底层、焊膏层和阻焊层。需要定义起始层、结束层、内层、焊膏层、阻焊层和钻孔层。Via需要定义起始层、结束层、内层、阻焊层和钻孔层。主要关注钻孔层和阻焊层。在设计焊盘时,确保各层的定义准确无误,并根据具体应用场景调整焊盘尺寸和间距,以确保电气性能和制造可行性。是PCB设计中用于标识和区分不同钻孔的图形符号,确保制造过程中钻孔的准确性和一致性。通过定义钻孔符号的类型、字符和直径,设计人员可以有效地传达钻孔信息给制造人员。
2025-03-13 17:31:31
763
原创 Cadence 学习笔记(1)
通过调整 Options 里面的原理图页面属性可以调整原理图的大小,这样当原理图放不下我们的元器件时,就可以放大原理图本身的大小了。要进行这一项操作的前提的适合什么,首先需要的就是对页面进行标号,也就是在原理图的右下角对原理图页面进行标号,看图。虽然可以直接通过双击查看元器件的属性,但是可以通过设置,可以直接显示元器件的封装,这样就能方便一些。基本的是按照字母表顺序进行排序的,但是呢,如果想按照自己的来,那么可以通过统一标序号命名。如果要修改的那个元器件的封装属性的话直接双击,进入属性面板,然后找的。
2025-03-12 18:33:26
814
原创 基于多层感知机(MLP)实现MNIST手写体识别
Softmax:将模型的输出转换为概率分布。交叉熵损失:计算真实标签与预测概率分布之间的差距。为什么要用交叉熵呢?因为交叉熵可以来衡量预测差距,这个我们只需要这个知识点,并且知道上面的公式就好了。我们逐步分析这两个步骤。y_hat是模型的原始输出(logits),表示每个类别的“分数”。会自动处理 softmax 和交叉熵损失的计算。损失函数的目的是衡量模型的输出与真实标签之间的差异,差异越小,损失值越小,说明模型的预测越准确。不需要手动进行独热编码,因为会自动处理。标签y。
2025-02-27 23:13:18
960
原创 vuex 简单使用
在state: {user: {age: 30},// 更新用户名称},// 更新用户年龄},// 更新整个用户对象},actions: {// 异步更新用户名称}, 1000);},getters: {// 获取用户全名},// 获取用户年龄});通过这种方式,你可以轻松管理 Vuex 中的对象状态。组合式 API 提供了更灵活的方式来访问和操作 Vuex store,同时保持代码的可读性和可维护性。
2025-02-18 12:01:41
390
原创 向量的导数
标量对向量的导数→ 梯度(向量)。向量对向量的导数→ 雅可比矩阵(矩阵)。向量对标量的导数→ 向量。具体形式取决于你分析的场景和维度关系!
2025-01-05 15:55:32
840
原创 高斯分布的一些性质
高斯分布(Gaussian Distribution),也称正态分布,是概率论和统计学中最重要的分布之一。高斯分布(Gaussian Distribution),也称正态分布,是概率论和统计学中最重要的分布之一。许多独立同分布随机变量的和在样本数量趋于无穷大时,其分布趋于高斯分布,无论原始分布为何种形状。的概率分布中,高斯分布是最大熵分布,即它最随机、信息最少。是标准差,决定分布的宽度(或离散程度)。是标准差,决定分布的宽度(或离散程度)。标准正态分布是高斯分布的特例,当。是均值,决定分布的中心位置。
2025-01-03 15:37:58
1352
原创 关于内网服务器依托可上网电脑实现访问互联网
背景:在实验室内网的一个服务器,没有配置 NAT ,无法使用外网,只能在局域网内进行访问,但是呢,我们自己的电脑是可以访问互联网的,那么怎么通过让自己的电脑作为服务器的代理,让服务器访问互联网呢?这往往是非常重要的,服务器上往往要跑实验,但是实验跑起来需要下载,所以代理就必不可少了。比如 Clash,CCProxy。
2024-12-27 22:15:24
873
计算机组成原理总结-期末复习版
2023-10-01
求子字符串,该怎么去求呢,help
2021-11-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人