- 博客(35)
- 收藏
- 关注
原创 啃书—以国产化光耦ORPC-847芯片手册为例
对其输出特性,首先看ICEO即集电极到发射极固定电流,在20V的情况下,只有100nA左右,其次看BVCEO即集电极向发射极击穿电压,当集电极对发射极的电压大于80V的时候可能会击穿三极管,所以需要再设计的时候注意;电流传输比也是光耦一个非常重要的参数,如图所示电流传输比(CTR:最低50%在IF=5mA,VCE =5V),最低为50%,以50%为例,输入电流为5mA的情况下,输出电流为5*50%=2.5mA。为此,我特地提炼了一套快速概览该款光耦核心特性的方法,这套技巧同样适用于探索其他类型的光耦器件。
2025-03-20 16:18:21
152
原创 串口调试助手的发射区和接收区如何定义串口通信协议ASCII或HEX详解
例如输入“Hello”,则发送的是“H”“e”“l”“l”“o”对应的ASCII码,即48,65,6C,6C,6F(十六进制)。例如接收到字节48,65,6C,6C,6F(十六进制),会显示为“Hello”。当接收到的数据是文本信息时,如设备返回的文本状态信息、错误提示等,便于用户直观地阅读和理解。适用于接收二进制数据或需要精确查看每个字节数值的场景,如分析设备返回的协议数据包、状态字节等。适用于发送二进制数据或需要精确控制每个字节数值的场景,如向设备发送特定格式的协议数据包、控制字节等。
2025-01-14 09:18:06
365
原创 一文解决CH340驱动对象名已经存在的问题,问题代码31
点击右键进属性可以看到设备状态,发现其显示错误代码31,即CH340驱动对象名已经存在,突然想起其可能是占据同一个端口号导致冲突造成的,即端口号不能重复。此时需要把COM端口号修改为与其他端口不同的端口号,再点击确定即可,为了不与本机已有的虚拟串口COM3以及COM5冲突,因此随机选择了COM7口。最终设备管理器端口选项中的黄色感叹号消失,同时点进属性验证一波, 发现设备状态运转正常。依此点击USB-SERIAL CH340->属性->高级。
2025-01-14 09:13:21
444
原创 TPS5430典型降压型电路分析(基于TPS5430DDAR)
L1电感用作储能和滤波用,与输出电容C3组成输出滤波网络,电感的计算公式如式1所示,根据实际需求降压到5V,因此选择15μH的电感,其中VOUT(MAX)为最大输出电压,可取输出电压,VIN(MAX)为最大输入电压,VOUT为输出电压,VIN输入电压,Kind为常数,根据规格书取0.2-0.3,IOUT为输出电流3A,FSW为固定开关频率500KHZ;R1和R2的数值可对输出电压进行设置,如式2所示,为了得到5V的输出电压,根据规格书的建议,将R1设置为10KΩ,则可得出R2的阻值为3.24KΩ;
2025-01-09 14:48:06
1155
原创 C++基础之do.....while语句的应用
在 do 和 while 之间的代码块是循环语句,它至少会被执行一次。在 while关键字后面的括号中的表达式是循环继续执行的条件。如果条件为真(非零),循环继续;如果条件为假(零),循环结束。do.....while循环是 C++ 中的一种基本循环控制结构,它允许代码块至少执行一次,然后在指定的条件为真的情况下重复执行。在这个例子中,循环体中的代码会计算 i 的当前值并将其加到 sum上,然后将 i加 1,直到循环到 i 大于 10。
2024-12-23 15:59:33
166
原创 LM2596典型降压型电路分析
CIN选择680μF的电容主要是为了减少输入电压的波动,起滤波作用,根据耐压需求,输入电容的耐压值至少为最大输出电容的1.5倍,因此对于12V输出,电容的耐压值至少为18V,但为了增加电路的容错性应选择更高耐压值25V的电容,可增加电容的使用寿命,同时输入电容的均方根电流值至少为负载电流的一半,即至少为1.5A,综合多方面考虑,680μF的电容在耐压值25V下可以满足条件;COUT选择220μF的电容,是为了使输出电压更加平滑,减少纹波,进而提供稳定的电源给负载。输出电压:DC 5V。
2024-12-23 14:09:29
1502
原创 C++基础之Switch语句
在C++中,switch语句是一种多分支选择结构,用于根据不同的条件执行不同的代码块。PS:(switch语句中的表达式必须是整型、字符型或枚举类型。
2024-11-29 11:31:31
267
原创 C++基础之三目运算符
PS:(三目运算符的优势在于其简洁性,它可以在一行代码中实现简单的条件判断。这个例子定义了两个整数a和b,以及一个用于存储较大值的变量max,使用三目运算符用于判断a和b哪个更大,最终将结果赋值给max。,在C++中是一个简洁的条件判断工具,可以通过三目运算符实现简单的判断。PS:(C++中三目运算符返回的是变量,可以继续进行赋值。如果表达式1的值为真,执行表达式2,并返回表达式2的结果。如果表达式1的值为假,执行表达式3,并返回表达式3的结果。三目运算符,也被称为。
2024-11-28 14:32:53
224
原创 AD软件如何快速切换三维视图,由2D切换至3D,以及如何恢复
在Altium Designer软件中,切换三维视图以及恢复二维视图的操作相对简单。
2024-11-28 11:02:52
4731
原创 C++基础之if语句如何运用及其规则
具体解释:如果 condition 为真(即1),则执行 {} 内的代码;如果 condition 为假(0),则跳过该代码块。在C++编程中,if语句是一种基本的控制流语句,用于根据条件判断来执行不同的代码块。PS:( condition 是一个表达式,其结果必须为布尔值(true 或 false)即0或1)
2024-11-25 15:24:31
307
原创 Keil 5常用Debug功能及方法简述
3->memory窗口,用于监控内存,可用来查看内存数据的变化,同样可以将变量添加到memory窗口中,观察它的值的变化,用法和watch窗口相似,可以实时监控内存的状态,包括数据的读写和变化,这对于发现内存泄漏、越界访问等问题非常有帮助;4->外设查看窗口,是调试最最最重要的一个窗口,用于查看CPU的片上外设以及内核外设的工作状态,通过该窗口,可以直观的监控与CPU相连的外设的行为,包括外设寄存器的读写操作等,这有助于排查外设相关的故障,确保外设正常工作。3->stop按钮,按住程序会停止运行。
2024-11-25 14:54:04
2143
原创 CubeMX生成工程如何裁剪加工,与正点原子HAL库例程对比
同时鼠标选中添加的文件夹,双击将BSP板级支持包的C文件以及正点原子提供的核心SYSTEM文件夹C代码添加进去,包括delay文件夹:存放延时相关的驱动代码,支持在os下面使用;经过对比,发现正点原子经过整理后的例程多了个Output文件夹,点进去后发现Output文件夹存放编译后生成的文件。同时keil工程中的文件夹,需要添加一个Drivers/BSP以及Drivers/SYSTEM文件夹,鼠标右键单击工程,选择add group选项,再将名字修改完毕即可。
2024-11-20 14:30:40
333
原创 HAL库中MSP回调--HAL_PPP_MspInit()与中断回调--HAL_PPP_Callback()的区别及一些学习见解
MSP回调是指与MCU相关的初始化回调函数,这些函数通常在HAL库的外设初始化函数中被调用,主要用于配置与MCU相关的外设资源,如GPIO、NVIC(嵌套向量中断控制器)和时钟等。中断回调在中断发生时被调用。当外设产生中断时,相应的共用中断处理函数如HAL_PPP_IRQHandler()会被触发,该函数会进一步调用一系列HAL_PPP_Callback()中断回调函数来处理中断,用户可根据不同的回调函数类型,编写对应的中断处理程序。:MSP回调在外设初始化时就会被调用,而中断回调在中断发生时才被调用。
2024-11-19 15:28:46
405
原创 数据通信的基础概念,串行、并行、半双工、全双工、同步异步的区分与定义
同步通信必须有同步时钟,传输信息量大,传输速率高,但传输设备复杂,技术要求高,在传输数据的同时,还必须传输时钟信号;异步通信不需要同步时钟,通信实现简单,设备简单,但传输速率不高,字符帧之间的间隙可以是任意的,每个字符的前后都要用一些数位来作为分隔位。与之相比,并行通信的传输速率较高,抗干扰能力较弱,通信距离较短,IO口资源占用较少,成本较高。同步通信:同步通信是指发送端和接收端必须使用同一时钟,是一种连续传送数据的通信方式,一次通信可以传送多个字符数据(一帧数据)。串行通信:数据逐位按照顺序依次传输。
2024-11-19 10:19:18
585
原创 STM32中中断和事件的区别
中断定义:当外部或内部发生某个事件时,CPU会立即暂停当前正在执行的程序,转而执行与该事件相对应的中断服务程序(ISR)。待中断服务程序执行完毕后,CPU再返回到被中断的程序处继续执行。工作原理:中断请求通过中断线发送到中断控制器(NVIC),NVIC根据中断优先级决定是否立即响应中断。一旦响应,CPU会保存当前程序的执行状态(即现场),然后跳转到中断服务程序的入口地址执行。中断服务程序执行完毕后,CPU会恢复之前保存的现场,并继续执行被中断的程序。事件。
2024-11-12 10:44:03
1041
原创 三极管放大状态/饱和状态和截止状态如何区分?三极管典型应用电路
该电路用一个NPN三极管(S8050)来驱动蜂鸣器,R65主要用于防止因三极管存在寄生电容,导致蜂鸣器出现误发声。驱动信号通过R64和R65间的电压获得,芯片上电时默认电平为低电平,故上电时蜂鸣器不会直接响起。当PF8输出高电平的时候,蜂鸣器将发声,当PF8输出低电平的时候,蜂鸣器停止发声。其中当三极管处于导通状态,是相对于截止而言的,导通包括放大和饱和状态;饱和状态:Vb>Ve,Vc
2024-11-12 10:38:16
1747
原创 AD如何制作原理图的模版、原理图模板绘制修改以及如何导入原理图模版
首先需要打开模板文件,在AD20中打开之前保存的原理图模板文件,注意需是.SchDot格式的文件,然后对其进行修改,根据自己的需要,依据上述步骤可对模板中的图纸大小、方向、栅格设置、信息栏内容等进行修改,修改结束后,保存模板文件。在AD中,可双击左键打开Properties设置对话框,设置默认模板,在Schematic选项下的General中,选择默认空白纸张模板。打开原理图,首先需要先确保该原理图的版面是干净的,即需要先移除当前的模板,依此点击设计->模板->移除当前模板,避免信息栏重叠,如下图所示。
2024-10-23 17:04:10
4754
原创 AD20如何在PCB中显示或隐藏铺铜
在查看PCB线路连接时,通常会遇到一种情况即一整块铺铜遮挡了视线,其会影响视觉效果,使得查找线路连接问题或进行布线分析变得更加困难。为了更有效地进行这些操作,通常需要先将铺铜暂时隐藏起来,以便清晰地看到下方的线路和连接。一旦确认了所需的信息或完成了相应的操作,再将原来的铺铜显示出来以恢复完整的PCB视图。本文提供了两种方式可对铺铜进行隐藏以及显示。
2024-09-24 10:59:17
2283
原创 STM32的八种GPIO的工作模式以及其应用场景
STM32的GPIO(General-Purpose Input/Output,通用输入输出)端口可以配置为八种不同的工作模式,每种模式都有其特定的应用场景。
2024-09-10 15:41:53
1504
原创 CubeMX新建工程详细步骤
查询MCU外围电路的原理图可得其外部高速晶振和外部低速晶振分别是:8MHz和32.768KHz,因此HSE时钟频率就是8MHz,LSE时钟频率就是32.768KHz。其时钟必须在其工作限定之内。PS:写在最前(本文是在深入参考了正点原子提供的STM32F407探索者指南的基础上,结合个人的学习心得与深入理解所撰写的。以PE5及PB5两个GPIO口点亮LED灯为例,配置其引脚功能,可在右下角搜索框中搜索需要的引脚。点击PF5及PB5,在弹出的下拉菜单中,选择IO口的功能为GPIO_Output。
2024-09-09 17:28:00
1808
原创 做嵌入式项目时如何选择合适的MCU,以stm32为例
针对不同的嵌入式项目,STM32芯片的选型是一个综合性的过程,需要考虑多个方面的因素以确保所选芯片能够满足项目的具体需求。
2024-09-06 14:46:59
2057
原创 C++基础之指针及结构体
指针:内存的地址;指针变量:保存了指针的变量;格式:类型名 *指针变量名指针的作用:可以通过指针间接访问内存内存编号一般是从0开始记录的,一般用十六进制数字表示可以利用指针变量保存地址&是取地址的意思。
2024-09-03 11:34:54
222
原创 C++基础之静态成员static及const修饰成员函数
静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员,静态成员分为:静态成员变量:(1)所有对象共享同一份数据(2)在编译阶段分配内存(3)类内声明,类外初始化静态成员函数:(1)所有对象共享同一个函数(2)静态成员函数只能访问静态成员变量。
2024-09-02 10:03:11
689
原创 AD20如何进行V-cut拼版
此时会看不见单板的外框尺寸,原因是AD20的拼板不能识别Keep-Out Layer层,需要转化为机械层1才可以识别到,单层显示模式下(快捷键SHIFT+S),框选出keepout层轮廓,依此按住(设计)Design->(板子形状)Board Shape->(根据板子外形生成线条)Create Primitives From Board Shape,再设置线宽和机械1层即可出现拼版的外框。这是因为新建的PCB是默认的二层板,需要拼版的PCB是四层板,所有会出现该警告,此时只需选择现在自动同步即可。
2024-08-30 16:45:15
2353
原创 C++基础之数组
2.数组类型 数组名[行数][列数] = {{数据1,数据2},{数据3,数据4}};3.数组类型 数组名[行数][列数] = {数据1,数据2,数据3,数据4};4.数组类型 数组名[ ][列数] = {数据1,数据2,数据3,数据4};2.数据类型 数组名 [数组长度] = {值1,值2 ...};3.数据类型 数组名 [ ] = {值1,值2 ..};所谓数组,就是一个集合,里面存放了相同类型的数据元素。1.数组类型 数组名[行数][列数];特点1: 数组中的每个数据元素都是。
2024-08-30 09:51:44
444
原创 AD20如何导入CAD绘制好的奇形板框
在CAD绘制好图形后,应该点击保存,注意需要保存为AutoCAD 2010/LT2010 DXF(*.dxf)文件,这个版本的文件才能导入PCB里面,版本高了会不支持。在AD软件选择PCB页面,里面点击文件>导入>DXF/DWG,注意里面的比例。点击确定后,弹出一个警告,不需要去管它,点击ok即可。
2024-08-29 16:43:18
1325
原创 C++基础之算数运算、幅值运算以及逻辑运算
例:a=12,a +=2,a=a+2最后输出a=12+2=14。前置递增b=++a,先将a自身加1,再将a赋给b;后置递增b=a++,先将a赋给b,a再加1。后续的-=、/=、*=、%=都是一样的操作。“/”是除数运算,例如:10/3=3。“%”取模运算,例如:10%3=1。“前/后置递增运算”
2024-08-28 11:06:24
558
原创 AD20中GND、GGND、DGND与AGND的区别、数字电路与模拟电路的区别以及layout需要注意的细节
GGND则是一种特殊的接地技术,用于防止信号干扰和提高电路的灵敏度,主要用于将多个电路部分的地线连接在一起,形成一个共同的地回路。AGND主要用于模拟电路,包括传感器、放大器、滤波器等,一般来说音频信号,耳机,miC 功放这类信号属于模拟信号,同时对应的回流GND 属于模拟地即AGND。两者都是作为零电位的公共基准地,但由于数字电路和模拟电路的工作特性和对地要求不同,它们需要分开处理。因此,在对PCB布局的时候,可以把数字电路和模拟电路分开来放置,这样在电源层和地层中将其分割开,减少信号之间的相互干扰。
2024-08-14 16:42:36
4721
2
原创 AD20软件PCB设计规则的设置
电源线和信号线一般是有区别的,因此为了layout方便,最好再自行设计一个规则,再设计界面点击width->新规则,再命名一下PWR以作区分。同时十字连接的高级选项,包括焊盘的连接方式以及过孔的连接方式,为防止过孔使用十字连接将平面打断,如下图,因此选择将过孔连接方式设置为全连接。1A 15mil、2A 50mil、3A 100mil,倘若大于3A,就需要铺铜或开窗处理。正片层铺铜时,倘若SMT贴片时,同时考虑到载流问题,推荐连接方式为直连。倘若为手工焊时,推荐十字连接,方便焊接。
2024-08-12 16:06:49
4082
原创 AD20如何批量放置过孔
可以点击constrain area按钮选项在自己规定的区域放置过孔,一般是24mil以及12mil。栅格一般放150个mil。然后选择层、GND网络。注意//需要铺完铜才能继续操作。依此点击工具、(缝合孔)
2024-08-09 14:26:58
1631
原创 AD20如何批量修改丝印的大小
然后再右侧修改丝印的高和宽,一般将高选择为10mil,宽选择为2个mil。PS:一般推荐字宽/字高尺寸为2/10mil、4/25mil、5/30mil、6/45mil。在Object Specifics里面选择Designgnator,将Any选项选择为same。选择想修改的元器件丝印,右击以下鼠标,出现如下界面。
2024-08-08 08:43:39
1378
原创 AD20如何批量修改元器件封装
依此点击Tools→Footpring Manage(快捷键TG)打开封装管理器。选择已有的封装库,即可在已有的PCB封装库中选择合适的封装对其进行替换。选中需要修改的元器件,点击(编辑)edit按钮。
2024-08-07 17:14:51
1399
原创 AD20对元器件进行批量命名
设置一下,依此点击更新更改列表、接受更改创建即可。最后验证变更、执行变更,即可完成批量命名。依次点开 工具→标注→原理图标注。
2024-08-07 17:01:46
1210
原创 AD20常用快捷键
如果想整体去掉一条线,在PCB画面下,按住Ctrl+H,出现十字光标,将光标移动到连线经过的任意线上,单击鼠标左键,选中会高亮,按delete删除。快捷键S+N选中网络,在右侧仅选中tracks(走线)即可在右侧小弹窗里面设置走线的宽度等。在垂直分割状态下选中原理图的模块,返回PCB图空白处按住Ctrl+E,就会出现对应的器件。快捷键P+L将数字地以及模拟地进行分割(将数字地和模拟地进行隔离)。Ctrl+W键可以在原理图中快速拖动线。Ctrl+F查找文本,查找VCC方便。Ctrl+shift+L向左对齐。
2024-08-07 16:48:53
1039
友善串口调试助手serial-port-utility-538-1001.zip
2025-01-14
Cubemx+HAL+Stm32F407VGT6定时器PWM.rar
2024-12-26
WinMerge-2.16.44-x64-Setup.exe
2024-11-15
anfis-master.zip
2024-08-15
TensorANFIS-master.zip
2024-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人