自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(245)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 altium designer AGND PGND单点连接的画法

放置两个焊盘,标号分别为1和2,然后使用铺铜或填充把这2个焊盘连起来,如下所示。在很多场合,模拟地AGND和功率地PGND是需要单点连接的,一般常用方法有使用0欧电阻连接,磁珠连接,还有直接在PCB上用走线或窄铺铜连接。使用0欧电阻的缺点是,他不是真正的0欧,而且随着使用时间增加,阻值会变大,而且还存在焊接可靠性问题。在原理图库中也新建一个元件,画两个引脚,位号也分别为1和2,我给他命名为NET_TIE。但是AGND和PGND是两个网络标号,在原理图或PCB中,都不允许直接进行电气连接。

2025-04-10 14:45:41 467

原创 STM32 CAN控制器硬件资源与用法

以STM32F4为例,他有2个can控制器,分别为 CAN1 CAN2。每个CAN控制器,都有3个发送邮箱、2个接收fifo,每个接收fifo又由3个接收邮箱组成。也即每个CAN控制器都有9个邮箱,其中3个供发送用,3个供接收fifo0用,3个供接收fifo1用。STM32F4有2个CAN,也即有18个邮箱。注意:下图来自数据手册,可以清楚的看到单片机内部的2个CAN控制器的硬件结构。这个结构图对于编写收发驱动程序至关重要。

2025-03-30 17:48:43 741

原创 卷积、内积、互相关概念

先从两个向量的“内积”开始,这个大家都很熟悉了,其实就是高中学习的向量的点乘,例如假设A=[1, 2],B=[3,4],那么A·B=1*3+2*4=11。假设A=[1, 2],B=[-2,1],那么A·B=1*(-2)+2*1=0。此时两个向量垂直。点乘其实就是物理做功,力和位移垂直时,做功为0。可见,内积可以衡量两个向量的方向的相似程度(其实不用衡量,可以直接精确求出两个向量的夹角,毕竟A·B=|A|·|B|·cosθ )对于A=[a1, a2,a3....],B=[b1, b2,b3....],那么A·

2025-03-24 14:34:15 294

原创 Altium Designer(AD20)设置导出BOM分组

例如原理中有存在3种100nF的电容,①0402封装、16V耐压,②0402封装、50V耐压,③0805封装、50V耐压。那么购买元件时,就要买3种,为了便于统计和下单,我们当然希望在导出BOM时,把这3种100nF的电容分别列在3行中。所以我得让description也参与分组,让软件自动把相同容值,但耐压不同的电容,列到不同的行里面。如上图所示的第一行,我的bom中有3个100nF电容,但是我已经在原理图中的description中描述了各自不同耐压值,结果表格中把他们列在了同一行,这显然是不行的。

2025-02-26 11:49:57 751

原创 同步buck型降压DCDC芯片外围电路详解

判定是低于还是高于,靠的是DCDC芯片内部的一个比较器,比较器有两个输入,一个是基准电压(比如1.2V,不同的芯片有所不同),另一个就是FB的电压,如下图所示,然后经过误差放大器ERROR AMP,这就是个最简单的P比例控制。由于SW接的就是Q1的S极,CHB的能量就会加在MOS的GS上,促进MOS的导通。(1)高侧的NMOS,也即上图的Q1,电感和负载都接在了S极,这种情况下,由于S极的对地电压为VOUT+VL,G极需要>=VOUT+VL+VGSth,才能导通,这个要求过于苛刻。

2025-02-14 21:40:36 2318

原创 电容、电感的瞬态仿真

由于电流20A不能突变,那么t0时刻R1的电压就是20A*1Ω=20V,电源电压为12V,流经R1后存在压降,降低了20V,就剩-8V了,也即此刻电感下方的电压0V比上方电压-8V要高。另一个角度,电流在下降,di/dt就是负的,电感上的电压u=L*di/dt就是负的,也即与电流方向相反。流过电容的电流 i=C*du/dt,由公式可见,电压不变时,也即du/dt为0时,电容上的电流就是C*0=0;电流缓慢增大,也即di/dt为正值,那么L1上的感应电压u方向与电流方向一致,都是正方向,从上指向下。

2025-02-13 22:42:12 606

原创 multisim瞬态分析基本操作

初始条件,例如电容的初始电压、电感的初始电流等。如果如下图所示,设置成了“自动”,那初始条件就都是0。双击电路上的走线,并设置网络标号,(multisim称为节点名),还可以右击设置颜色、线宽。还必须要设置我们所关注的网络标号(节点名),该节点的电压、电流等会被示波器记录下来。点击上图 的仿真按钮,或者按F5,电容的充电曲线就被仿真出来了,如下所示。如下图所示,我把我所关心的这条线起名为cap1,并设置成了黄色。下图左侧是所有的网络标号,点击“添加”按钮,可以添加到右侧。然后设置初始条件,仿真终止时间。

2025-02-06 09:54:46 832

原创 《自控原理》最小相位系统

既然提到了“最小”,首先得划定一个范围,才能有最大最小的概念,那这个最小是在哪个范围或者哪个群体里最小?答案是,对于任意给定的幅频曲线,必有无数个传递函数满足它,在这无数个函数中,必有一个相频曲线滞后角度最小,且他是唯一的。这也就提醒我们,虽然很多系统(或者说传递函数),他们的幅频曲线一模一样,但是其相频曲线可以千差万别,这里面有些系统甚至是发散的。在复平面右半平面既没有零点,也没有极点的系统,称为最小相位系统,其余均为非最小相位系统。

2024-09-30 15:09:15 1216

原创 《自控原理》典型环节的bode图(伯德图)

除了传递函数G(s)=0这种系统外(当然,这根本不叫系统,这是系统断电了或者坏掉了。。对一个系统输入正弦信号,其输出也一定是同频率的正弦信号,只不过其幅值和相位会发生变化。而且,根据输入的正弦信号频率w的不同,幅值和相位的变化程度也是不同的。ps:按照一般的工程上的定义,频率f的单位是hz,也即圈数/秒,代表每秒执行的周期数,w为角速度,单位为rad/s。显然w和f关系是:w=2πf。但是在控制工程领域,一般把w叫做频率,其单位是rad/s,接下来的文中,频率指的是角速度。

2024-09-29 18:38:03 9170

原创 分贝的定义,分贝与倍数转换表

其中p1和p2代表两个功率,可见当p1/p2=10时,lg (p1/p2)=1,称为p2比p1少了1贝(1B)。由于B这个单位太大,导致数值太小,所以平时一般用十分之一单位:分贝dB。尤其注意上表中的-3dB这一行,代表了功率衰减了一般,也即50%,在工程中经常把这个作为分析指标。同理,功率*2,对应+3dB。就类似于长度描述,0.5米=5分米,0.5m=5dm。单位改成由“米”改成“分米”后,数值扩大了10倍,显得大一些。对于不是功率的物理量,如电压、电流、转速等,,把平方提到外面,得到。

2024-09-29 15:14:59 1354

原创 《自控》误差传递函数、稳态误差、0型、I型、II型系统

本文关键词:误差传递函数、laplace终值定理、稳态误差、系统型别(0型、I型、II型系统)

2024-09-28 18:02:51 10565

原创 《自控原理》系统传递函数的零极点模型、分式模型、系统增益

(3-61)也一定可以化成(3-64)的形式,3-64其实更友好,可以看到,他把分母化成了一次因式和二次因式,一次因式对应的特征根都是实数(允许多重艮2),二次因式对应的特征根都是共轭复数。根据3-62的分母可以直接看出系统的特征根,不过要注意,3-62中的特征根si有可能是复数。(3-61)所示的是系统的传递函数的分式形式。他一定可以化成(3-62)形式。《自动控制原理》胡寿松,第六版。

2024-09-27 11:51:50 967

原创 matlab PID tuner整定工具箱的用法

如果Domain参数设置为“Frequency”频域参数,那么我们就可以设置期望的闭环控制带宽BandWidth和期望的相位裕度Phase Margin。从下图设置期望的控制性能:如果设置为“Time”时域参数,那么我们可以设置期望的节约响应时间,期望的鲁棒性或灵敏度。在下图的Form中选择PID的形式:有两种可选:平行式Parallel和标准式Standard。设置完期望参数后,在右下角可以看到设计出的kp ki kd的值。在下图的Inspect按钮中可以看到导入的被控对象的传函。

2024-07-14 15:49:41 1093

原创 三极管基本电路

不论是NPN还是PNP,箭头就是控制端所在的PN节,也即小电流所在的PN节,箭头方向就是小电流的方向。三极管的作用就是小电流控制大电流。发射结BE的小电流,控制CE的大电流。

2024-06-16 14:20:52 429

原创 PCB常规的工艺能力

画PCB时,必须要了解PCB生产厂家的工艺制造能力,例如过孔间距、阻焊间距等。常用的JLC的工艺能力,可查询他的官网下面列几条常见的,用来指导在altium designer中设置规则。

2024-06-05 17:09:55 967

原创 ARM汇编伪指令AREA

可以看到,按照ARM的规则,AREA指令后面紧跟段名,有些段名是保留的(编译器内置的),这些保留的段名有特殊意义,例如上图中出现的特殊段名有:STACK、HEAP、RESET,|.text|。对于STACK段,编译器会把该区域的汇编代码或描述编译到栈区,也即内存的最高字节处。对于RESET段,编译器会把该区域的汇编代码或描述编译到flash的0地址处。用于定义一个代码段或数据段。以STM32的启动文件为例,里面有很多AREA指令。

2024-04-22 14:45:02 1249

原创 keil把c语言函数转成汇编

有上图可见,这个标签对应的flash地址处,通过DCD命令占用了一个32bit的空间,这个空间中的值被初始化成了全局变量var的地址。然后执行编译,这样就会在工程的输出文件夹(一般会被命名为OBJ)下,找到与.c文件同名的.s文件,这个C文件中的所有函数,都会被一一转换为汇编函数。汇编可以让开发人员从根源上理解程序的运行逻辑,本文介绍如何在keil环境下如何把一个c文件中的某一个函数,转换为汇编函数,并编译运行。由这段代码可以看到在汇编中是如何调用C函数的,以及汇编是如何读写c语言中的全局变量var的。

2024-04-22 11:25:39 5222

原创 稳压二极管选型

如下图所示,为一般稳压二极管的用法,它工作在反向击穿区。这样VCC电压超出D1稳压值Vz的部分,就会被加在电阻上,这样可以限制流过R1 D1的电流,以避免D1被大电流烧坏。当D1工作在反向击穿区时,不断减小R1的阻值时,那么流过R1和D1的电流就会增大,由于D1两端的电压为近似恒值,那么D1的功率就会随着电流而增大,一旦这个D1的功率超过POWER DISSIPATION,二极管就会被烧坏。IR为反向漏电流,也即在反向电压较小,未能击穿二极管时,二极管处于断路状态,但不是完全断路,而是会有小电流漏过。

2024-03-21 11:29:03 2052

原创 altium designer AD绘制圆形铺铜

选中这个圆,然后工具->转换->从选中区域创建铺铜,快捷键TVG,效果如下,可以看到铺铜已经成功,只是铺铜的参数还没设置好而已。选中铺铜,然后设置铺铜参数,主要是设置网络名、铺铜类型为solid全铺。以在top层的角上创建圆形铺铜为例,先放置一个圆形走线,快捷键PAU。

2024-03-11 09:59:40 9093

原创 altium designer AD设置布线/铺铜与板框的间距

依次打开:设计->层叠管理器。修改下图中的pullback distance的值。多边形铺铜区与外板框的间距为:Poly和Outline Edge交叉处的值。走线与外板框的间距为:track和Outline Edge交叉处的值。依次打开:设计->规则->板框间距规则,如上图所示。其余各种间距可自行设置。

2024-03-10 15:12:35 11396

原创 运放的虚短和虚断

也即当A远大于1时,Af≈1/F,这种情况被称为“深度负反馈”。OPA365这款芯片的供电电压一般为5v,那么当差分输入电压为0.000005V时,运放的输出就会达到饱和,也即0.000005V*100万倍=5V。上图中,A为运放的开环放大增益,F为反馈电路的增益,那么红框部分(也即这个反馈系统)的闭环增益Af=A /(1+AF)。上图中,线性区的这条斜线的斜率,就是开环增益(或者叫开环放大倍数),对于理想运放,其开环增益为正无穷,当然对于市面上的运放产品,斜率是不可能无穷大的,一般为几万~几百万。

2024-02-24 11:34:09 1032

原创 html js加载本地文件报错处理,跨域问题

解决方法是搭建一个本地服务器,然后从这个服务器访问这个html文件,这样html和其他资源文件,会被浏览器判定为同一个域。首先下载node.js的windows安装包,安装完以后,打开命令行,查询两个版本号,如果没有报错,就说明node.js和npm都安装好了。这个问题是怎么来的?然后打开我们的html文件就可以了,这时html中的js要访问这个文件夹及其子文件夹下的文件,就不会报错了。还有个问题就是,当修改了html文件以后,浏览器中的文件并不会更新,需要打开html并刷新页面才行。

2024-01-03 11:30:11 1853

原创 QT for Android安卓编译环境搭建+首次编译3个大坑

编译环境能否搭建成功,主要是看各个依赖软件的版本是否匹配。依赖的软件有3个:JDK、安卓SDK、安卓NDK。我的qt版本是5.14.1,我亲测以下版本可以成功让编译安卓:QT5.14 + JDK1.8.0 + 安卓SDK26.1 + 安卓NDK20.1在QT->工具->选项,打开如下窗口后,点击设备选项卡,如下所示,填入以上3个软件的安卓位置,如果版本匹配,下图会看到两个绿色的对号。然后点击上图的Kits选项卡,如下图所示。可以看到安卓编译器已经没有黄色感叹号了,就说明配置成功了。

2023-12-17 16:50:46 2471

原创 Qt for Android设置安卓程序默认横屏+全屏

我的qt版本是5.14.1,网上查到的方法是,把编译出的build文件夹中的AndroidManifest.xml文件复制出来然后修改,然后把修改后的xml文件加入pro文件,语法为ANDROID_PACKAGE_SOURCE_DIR = $$PWD/AndroidManifest.xml(具体;上图可见,自动生成的文件中,有一个就是AndroidManifest.xml。可视化编辑模式下,可编辑的东西很少,就是上图所显示的这些东西,有趣的是可以直接设置3个图标:高分辨率图标、中分辨率图标、低分辨率图标。

2023-12-17 15:45:26 1393 1

原创 MOS基础知识

因此,MOS管可以被制构成P沟道增强型、P沟道耗尽型、N沟道增强型、N沟道耗尽型4种类型产品。P沟道增强型MOS管因在N型衬底中生成P型反型层而得名,其通过光刻、扩散的方法或其他手段,在N型衬底(基片)上制作出两个掺杂的P区,分别引出电极(源极S和漏极D),同时在漏极与源极之间的SiO2绝缘层上制作金属栅极G。在正常工作时,P沟道增强型MOS管的衬底必须与源极相连,而漏极对源极的电压VDS应为负值,以保证两个P区与衬底之间的PN结均为反偏,同时为了在衬底顶表面附近形成导电沟道,栅极对源极的电压也应为负。

2023-10-20 13:57:51 3310

原创 STM32移植FAT文件系统

所谓“移植”,就是打通FAT源码和物理设备之间的软件接口。FAT源码早就被公益组织给写好了,直接下载源码。但是FAT作为顶层应用程序,它需要面对的底层物理设备是不确定的,那么底层的物理设备驱动程序就需要程序员来自己写。物理设备可以时硬盘、内存卡、nor、nand、EEPROM、甚至可以是RAM,只要是可以存储内容的设备,皆可上文件系统。需要我们自己写的函数接口,都在diskio.c里面。总工有6个函数。

2023-09-07 11:47:15 450

原创 STM32使用FAT文件系统-代码简读

fat文件系统的所有外部接口都在ff.h中。

2023-09-06 18:42:08 1069

原创 单片机TVS/ESD二极管防护

TVS一般用于低压大电流防护,例如为了保护单片机的5V输入,可以使用一个截止电压为5.5V的TVS来保护,一旦用户不小心给单片机插上了一个12V电源,那么单片机板子上的TVS将会把12V电源的正极通过雪崩直接短路到,从而保护单片机不受损害。上图中共有9个二极管,真正起ESD作用的只有中间那个,它的符号和其余8个不同,其余8个就是普通二极管。1、2、3、4引脚上一旦出现10KV高压,ESD二极管就会短路,这样就可以把1234上的高压泄放到3、8引脚上,也即GND上。都是利用了二极管正向导通、反向截止的特性。

2023-08-27 21:59:26 4271

原创 STM32定时器级联功能

本文只讲其中一个功能,定时器1给定时器2当分频器。这种功能可以把两个32位定时器,合并为为一个64位定时器,可以把2个16位定时器合并为一个32位定时器、甚至可以把4个16位定时器合并为一个64位定时器。根据上图,我们发现,TIM1可以输出一个脉冲(时钟)信号TRGO,这个信号被连接到STM32 内部的一根信号线上,这根信号线叫ITR0(STM32内部共有4根这样的信号线,你也可以理解为4个没有被引出的引脚插针)。在芯片内部,某些定时器的输出信号TRGO可以连接到另一个定时器的内部输入信号上。

2023-08-09 17:16:21 3574

原创 QT控件通过qss设置子控件的对齐方式、大小自适应等

一些复杂控件,是有子控件的,每个子控件,都可以通过qss的双冒号选择器来选中,进行独特的样式定义。很多控件都有子控件,太多了,后面单独写一篇文章来介绍各个控件的子控件。例如下拉列表控件,右边有个下拉按钮(QComboBox::drop-down)就是子控件,这个下拉按钮里面还有一个箭头(QComboBox::down-arrow),也是子控件。展开的下拉列表,每个条目(QAbstractItemView::item)也都是子控件。又比如spinbox,有个上下箭头可以调整数值大小,这个上下箭头也是子控件。

2023-07-26 13:41:50 2494 1

原创 QT样式表qss中的长度单位px/pt/%/em/ex/mm/in等

长度由一个数字和单位组成如 8px,2em,10in,7pt,20pc等等。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。),相对于设备的长度单位,像素是相对于显示器屏幕分辨率而言的。相对于元素的字体大小(font-size),如果当前行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。字体大小(font-size)很多人用px做单位,其实用px做字体单位唯一的致命缺点就是在IE下无法用浏览器字体缩放的功能。相对于视口*较小尺寸的 1% ,vw和vh中较小的那个;

2023-07-26 09:00:08 3488

原创 解决QT中QWidget无法触发mouseMoveEvent鼠标移动事件

需要注意的是,这个Qt::WA_Hover的CPU成本更高,本质上鼠标移动事件,就是被Qt::WA_Hover这个标志分发下去的,除此之外,Qt::WA_Hover还会分发更多事件,如鼠标进入、移出、移动等。那是因为你的widget上有别的子控件,子控件覆盖的地方,鼠标移动事件会被分发到子控件,子控件会把事件拦截,然后父控件就无法收到鼠标移动事件了,这时父控件的mouseMoveEvent函数就不会被触发了。mouseMoveEvent这个事件函数,只要鼠标在这个widget内移动,就会触发该事件。

2023-07-24 11:41:08 8561 6

原创 QT各种控件常用样式表qss示例

如上图所示,表头的文字区域,变成了颜色更深的深绿色,这是因为这个区域的颜色,实际上是3层颜色的叠加:QTableView整体的绿色+QHeadView表头整体的黑色半透明+section表头文字区域黑色半透明。这个控件比较复杂,里面包含了滑动条、表头(又细分为内容区/空白区)、表格、整体、左上角按钮等多种不同的元素,他们之间有复杂的叠层关系。下面设置表头背景色,黑色,半透明,透明度为50。发现这个绿色背景并没有作用于整体,表头部分仍然为白色,那是因为表头在顶层,遮住了QTableView的绿色背景。

2023-07-11 13:20:27 3537

原创 nor flash、nand flash、eeprom、fram的读写特性

因为EEPROM的写入速度很慢,所以他里面带有一个高速缓存,这个缓存的大小就是page的大小,借助这个缓存,我们就可以通过20M的SPI把数据快速发给EEPROM,然后单片机就可以切换线程,或者切换状态机,让CPU去干别的事情,而不是把CPU都浪费在数据发送和等待上。如果你指定起始地址为0,要写入257字节,也即出现了跨页操作,那么EEPROM把第0页写满之后,写指针不会跳到第257字节处(也即不会跳到第1页的第0字节处),而是会发生回环,跳回本页的第0字节处,会导致之前写入的数据被覆盖。

2023-07-06 18:39:22 6697

原创 QT获取字符串的长度高度(像素矩形)+根据矩形定义文字字号

使用QPainter绘制文字时,如果希望给文字后方绘制一个矩形背景色,那必须得先知道这个矩形大小。str.toUtf8().size()获取字符数(可以兼容中文,1个汉字=2个字符)已知一个矩形QRect的参数,如何设置文字字号,才能让这个矩形恰好把文字显示全?QSting str= "这是string";

2023-06-28 12:50:14 1373

原创 QT中把QWidget提升为自定义控件后样式表无效的原因

当我们在设计师界面拖出一个QWidget,然后提升为自定义控件(或窗口)时,发现样式表不起作用。按照QT帮助手册的描述,当我们继承QWidget写了自己的类以后,必须要覆盖重写painterEvent函数。这里继承QWidget。可以在QT Creator把窗口创建完以后,手动把父类由QWidget改成CustomWidget。当你想继承QWidget时,不如直接继承上图的CustomWidget或者QFrame。换句话说,永远不要直接继承QWidget。但是这里有一个隐藏的小坑,容易让人遗忘。

2023-06-23 16:52:27 2635 2

原创 qt样式表qss选择器+自定义属性样式

在开始之前,先要区分3个概念:子类、子控件、后代控件是具备继承关系的类:如MyWidget: public QWidget是聚合在一起的大控件中的一小部分,如下拉列表控件中有个下拉箭头,这个箭头就是子控件(sub-control)是在界面上有父子关系的控件,如在QWidget中放置了一个QPushButton按钮,这个按钮就是QWidget的后代控件(Descendant control)

2023-06-12 18:00:46 4617

原创 QT控件自定义属性并支持QSS样式表+读取样式表的属性值

C++中自定义的属性borderColor,在qss中对应的名字为:qproperty-borderColor。冒号后面的值对应为该属性的值,他会被传递进C++代码中。边框颜色 border-color、边框半径 border-radius、背景颜色 background-color、字体大小font-size: 等等。样式表里有很多属性,例如。

2023-06-12 15:53:11 3433 1

原创 SBUS协议解析图解

刚开始感觉SBUS协议的通道值的拼凑规则非常奇葩,后来才理解到,它是完全按照串口硬件发送比特的顺序,来拼凑通道值的。先发送的11个bit就是通道0的值,接下来的11bit就是通道1的值,再接下来的11bit就是通道2的值。SBUS协议总共可以携带16个通道的数据,每个通道的数据为11比特,那么16个通道共有16*11=176个比特。基础知识,串口字节协议是低位(LSB)先发,例如某个字节值为0x8F(也即1000 1111),那么接收端按照先后顺序,依次收到的比特为:1 1 1 1 0 0 0 1。

2023-05-12 17:04:27 3444

原创 matlab/simulink对比前后两次仿真的曲线

做simulink仿真时,我们希望研究某个参数对于系统响应的影响,就需要不断的调整某个模块的参数,为了对比调参前后,系统的响应曲线,我们需要把前后两次的仿真结果,用toWorkspace模块送入工作空间,然后再plot绘图对比。之前我一直是这么干的。今天突然发现,新版simulink里面有了一个新功能,不知道是哪个版本开始的。把鼠标放在响应曲线的通路上,选中下图所示的Enable/Disable Data Logging按钮。打开后如下图所示,[当前]就是本次仿真生成的曲线,【存档】处就是上次、上上次、。

2023-02-11 14:35:52 5524 2

Free SolidWorks OBJ Exporter v2.zip

solidworks自定义宏,可以把solidworks模型转换为obj和mtl格式,教程:https://blog.csdn.net/qq_31073871/article/details/108407272

2021-10-09

QT多复选框.zip

QT5.8编译通过,相关介绍请搜索我的博客《QT使用QListWidget+QChececkBox实现多选功能》,链接https://blog.csdn.net/qq_31073871/article/details/90272780

2019-05-18

3drradioconfig.zip

使用方法:https://blog.csdn.net/qq_31073871/article/details/103700835#comments_15477606

2021-03-18

AU3自动发送163邮件

实现了AU3自动后台静默发送163邮件!可以用来干坏事!

2015-09-05

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

TA关注的人

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