PCB01
1 项目管理以及工程介绍·新建工程、原理图、PCB,删除 ·版本管理和控制 测试分支使用 ·工程历史、还原、对比,工程回收站 ·设置参数: 元件库设计将尺度改为0.05 inch 找到相关的数据手册 若是双路运放等(LM358),可以拆分为多part器件, ·常规元件设计 ·非常规元件设计 ·多part元件设计 ·封装设计 散热过孔默认为否,在pcb中再设计 ·非常规元件封装设计 ·封装绑定 原理图设计·图纸 ·器件放置 右键取消 立创商城/shift+F ·多part器件放置 ·属性清单 位号编辑,批量编辑位号和封装等操作 ·器件符号修改 总线 网络标签 短接标识符 差分对信号 跨页网络标识 设计-差分对管理器 查看差分对 ·器件标准化与DRC检查 设计-设计规则 查看修改 ·设计-分配位号 重新分配电阻等标号 ·工具-原理图对比 ·设计-工程设置 原理图设置参数 ·属性-器件屏蔽 PCB·布线-分布-元件区域分布 能够快速自动排布元件 ·快速定位——视图板块 ·图层管理...
PE04
3.1基于XMC4500单片机的BUCK输出电压闭环控制的编程3.1.1基于APP方式的XM C4500单片机编程打开英飞凌为XMC系列单片机提供的集成开发环境DAVE软件,如图3-1所示,选择新建CE Project项目,然后输入项目名称,选择XMC4500 Relax Kit开发板,平台会自动配置APP方式编程所需的相关文档和文件夹。 为了实现BUCK电路的输出电压闭环控制,需要单片机的ADC电压采集模块、中断模块和PWM模块。如图3-2所示,点击添加新的APP按钮,在出现的对话框中输入PWM进行搜索,选择PWM[4.1.12]后点击Add,然后依次添加INTERRUPT与PWM两个APP。 为了实现BUCK电路的输出电压闭环控制,需要单片机的ADC电压采集模块、中断模块和PWM模块。如图3-2所示,点击添加新的APP按钮,在出现的对话框中输入PWM进行搜索,选择PWM[4.1.12]后点击Add,然后依次添加INTERRUPT与PWM两个APP。 然后正确设置各APP的参数,如下图3-4所示,将ADC...
PE03
电阻相关设计定式介绍1.电阻分类与参数介绍 以下选择常用的电阻进行详细介绍: 一般电阻(贴片/色环电阻)阻值(Resistance): E24(5%精度)E96(1%精度),单位为欧姆()。 精度(Tolerance): 实际阻值与标称值的偏差范围,通常以百分比表示。 额定功率(Power Rating): 在环境 70℃中可以连续工作状态下的最大功率值。单位为瓦特 (W)。 温度系数(Temperature Coefficient): 电阻值随温度变化的程度,通常以 ppm/°℃表示。 额定电压: 电阻的额定耐压值。 封装: 一般电子产品 0402,0603。 NTC热敏电阻在开关电源中,串一个热敏电阻,是抑制开机瞬间的浪涌电流。 标称电阻值(R25): 在 25°C时的电阻值,通常作为选型的基础参数。 B值(热敏指数): 表示电阻随温度变化的敏感度,B值越大,电阻随温度变化的幅度越大。 允许工作最大电流: 热敏电阻在环境温度于25℃允许通过NTC电阻的最大持续电流值。 热时间常数(τ): 在零功率条件下,当温度发生突然变化的时候,NTC...
PE02
I²C 介绍 版权声明:本文为CSDN博主「fuhrman82」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/abcfh123802/article/details/140153815 首先说一下串口通讯,只能在两个设备之间进行,如下图: 若三个设备相互通讯,则每个设备需要两组串口。它们其实是三组相互独立的串口通讯。如下图: 若是四个设备相互通讯就更麻烦了,以此类推。这样一来,最突出的问题是线路连接复杂。 为了解决上述痛点,大佬们设计了一种总线通讯,总线通讯有很多种协议,如: 这里主要介绍IIC(常读作I方C) 通讯,全称Inter-Integrated...
Photoing01
...
RAG01
RAG (Retrieval-Augmented Generation,检索增强生成)是一种结合信息检索技术和 AI 内容生成的混合架构,可以解决大模型的知识时效性限制和幻觉问题。简单来说,RAG 就像给 AI配了一个“小抄本”,让 AI回答问题前先查一查特定的知识库来获取知识,确保回答是基于真实资料而不是凭空想象。 通过 RAG 技术改造后,AI 就能: 准确回答关于特定内容的问题 在合适的时机推荐相关课程和服务 用特定的语气和用户交流 提供更新、更准确的建议
Algorithms03
1二叉树各种算法
Algorithms02
不再遗忘——KMP算法详解Leetcode28. 讲述了这样一个问题: 也许你早已听闻kmp算法的大名,甚至和我一样学习过敲过很多次了,可是时间一长总是会忘。我很不甘心,于是在这篇知乎回答的基础上(https://www.zhihu.com/question/21923021/answer/281346746 ,答主海纳)对代码进行了改进,在文章中也添加了自己的理解。话不多说,我们这就开始。 1.朴素算法如果你压根不知道什么kmp,只凭原始本能进行暴力枚举呢?这当然是可以的。为了方便表述,我们把题目中haystack代表的字符串定为主串,needle代表的字符串定为匹配串。那么最直观的解法是:枚举主串中的每个字符作为「发起点」,每次从主串的「发起点」和匹配串的「首位」开始尝试匹配: 若匹配成功:继续匹配,主串和匹配串索引同时向前。 若匹配失败:枚举主串的下一个「发起点」,匹配串索引重新移到「首位」,并重新尝试匹配。(重点注意此处与kmp的不同) 叽里咕噜说再多,其实也就是两层循环的事: 123456789101112131415161718class Solution...
Algorithms01
1 这里直接等效为:根据有限数组找到容量正好为11的背包,那么很容易就想到这里重量=价值。 不用再更改讲义了,请直接回答我:为什么重量=价值,判断条件是 dp[target] == target;而重量=1时,判断条件是dp[k] == sum/2? 好问题!这个区别的核心在于dp数组的含义完全不同: 🎯 情况1:重量=价值=nums[i]1dp[j] = 容量为j的背包,能装的最大价值 选择数字 [1, 5] 时: 重量总和 = 1 + 5 = 6 价值总和 = 1 + 5 = 6 所以 dp[6] = 6 判断逻辑: dp[target] == target dp的下标target = 我们想要的数字之和 dp的值target = 实际选中的数字之和 相等说明:我们真的选到了和为target的数字组合 🔄...



