- 博客(460)
- 资源 (4)
- 收藏
- 关注
原创 51单片机入门_10_数码管动态显示(数字的使用;简单动态显示;指定值的数码管动态显示)
数组是一组有序数据的集合,数组中每一个数据都是同一数据类型。数组中的元素可以用数组名和下标来唯一确定。数据类型 数组名[常量表达式]={元素表};//P0此时的值为0x3F。
2025-02-18 22:28:53
822
原创 51单片机入门_09_数码管静态显示(数码管显示原理:共阴极、共阳极;静态显示与动态显示原理;74HC573锁存器使用及原理;上拉电阻作用;准双向、开漏;原理图分析;编程实践)
上面的8位数码管如果采用4个一组,段选为8段是固定的“ABCDEFGH”(H也就是dp)接到锁存器11-20引脚,8个数码管有8个位选公共极接到锁存器的11-20引脚,也就说控制8位数码管需要16个IO口进行控制,但是单片机上IO口总共就32个,接了很多外设,为了节省IO口使用锁存器,使用锁存器之后,只需要用到8个IO口就可以控制8位数码管。从原理图可以看到U9锁存器的Q端接了300Ω的排阻,其起到限流的作用,这是因为你锁存器是具有一定驱动能力的,不像单片机的IO口,其电流较大,可能会烧毁数码管。
2025-02-13 21:45:39
1001
1
原创 51单片机入门_08_蜂鸣器(蜂鸣器原理;三极管做开关的应用方法(原理后期详细补充);单片机它不是功率器件,它适合做控制用,不适合驱动功率器件;上拉电阻;电机不能直接接到VCC和GND)
有源蜂鸣器底部橡胶封装,无源蜂鸣器则是PCB板直接外露这里的“源”不是指电源。而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。有源蜂鸣器往往比无源的贵,,就是因为里面多个震荡电路,
2025-02-06 21:45:11
549
原创 51单片机入门_07_流水灯(选看;Debug的方法是软件仿真,本篇介绍硬件仿真方法;需要借助硬件支持)
上篇我们学习了在Debug下进行单步调试等,在单行程序调试过程中,当IO发生变化后,开发板上的LED灯还是在执行流水灯的变化,而没有实时的进行IO口的变动,这样的仿真方法就是软件仿真,本篇将会介绍硬件仿真,也就是当在Keil中进行调试,调试运行的结果开发板会同步执行,也就是在debug下当P1的0发生变化之后,开发板上也会同步进行变化。视频介绍了如何使用该芯片。
2025-02-05 21:43:33
115
原创 51单片机入门_06_流水灯(宏定义;函数定义;延时函数;标准库函数中的循环移位函数及与左移和右移运算符区别;Keil中Debug的用法;单片机小精灵方便延时函数程序生成)
用define进行宏定义的典型用法注意宏定义后面不能加分号,它是预处理指令不是语句。其中用“uchar”直接替换了unsigned charuchar i;等价于对于上面的宏定义我们是用来给已有数据类型取别名。对已有数据类型取别名一般还有使用关键字typedeftypedef 已有数据类型 新的数据类型;(要加分号)函数就是将多条语句集合在一块,来完成一种特定功能。函数分为标准函数库,和用户自定义函数。keil编译器提供的,不需要用户进行定义。用户根据自己需要编写的函数,它必须在使用前先定义。
2025-02-05 14:35:07
1062
原创 51单片机入门_05_LED闪烁(常用的延时方法:软件延时、定时器延时;while循环;unsigned char 可以表示的数字是0~255)
变量是在程序执行过程中其值能不断变化的量。在使用一个变量之前必须进行定义,用一个标识符作为变量名,并指出它的数据类型。注意:C语言中每条语句必须用分号结束。数据类型 变量名;例如:a=5;b=2;b=5+a;(其中5是常量,a与b都是变量,b最终的值等于10)可以表示的数字是0-255变量作用域在函数体外定义的变量通常为全局变量,作用范围:从定义开始的整个程序在函数体内定义的变量通常为局部变量,作用范围:函数体内。
2025-02-04 22:25:31
810
原创 51单片机入门_04_点亮开发板上的LED灯(LED灯基础知识;电路板工作原理图解析;实际操作步骤;Keil软件安装;stc-isp软件;Proteus电路仿真方法)
LED全称为半导体发光二极管,采用半导体材料制成的,以直接将电能转化为光能,电号转换成光信号的发光器件;其特点是功耗低、高亮度、色彩艳丽、抗振动、寿命长(正常发光8-10万小时)、冷光源等优点,是真正的“绿色照明”以LED为光源的灯饰产品在21世纪的将来,必然取代白织灯,成为人类照明的又一次革命。下图是LED的实物图第一张图片中是直插式的LED灯,需要穿过PCB板焊接起来,该灯为绿色LED灯,点亮后发出绿色光源,其有正负极,对于有正负极直插式器件基本都遵循长正短负。
2025-02-04 19:05:22
1186
原创 51单片机入门_03_电子电路基础(TTL电平;单片机就是学习如何控制IO口和内部寄存器;电阻电容;电路原理图;网络编号;单片机最小系统结构原理图解析;基本时序)
I/O口是基本输入Input/输出0utput接口,单片机对外围设备的控制都是通过I/O口来进行的(输出高低电平)。接收外部控制也是通过I/O口来读取外部电压信号。下图左侧为8051单片机的引脚图,虽然后期使用的均为STC89C52芯片,但是引脚这些是完全相同的。上图中的1-20,21-40是其引脚编号,表示一共有40个脚。第40个引脚为Vcc表示电源引脚,用来接正电源;第20脚为Vss,表示接地的引脚,单片机要工作肯定是需要接电源的,这两个脚就是提供电源的。
2025-02-03 20:46:35
727
原创 51单片机入门_02_C语言基础0102
C语言基础部分可以参考我之前写的专栏C语言基础入门48篇以及《从入门到就业C++全栈班》中的C语言部分,本篇将会结合51单片机讲差异部分。课程主要按照以下目录进行介绍。涉及进制转换可以使用计算机上的计算器来进行转换
2025-01-26 22:33:06
1177
原创 51单片机入门_01_单片机(MCU)概述(使用STC89C52芯片;使用到的硬件及课程安排)
在认识单片机之前,需要了解单片机的前身,微型计算机的组成及应用形态。
2025-01-25 22:17:43
1267
原创 基于TMS320X281X/F28335的DSP入门到精通01_如何开始DSP的学习与开发
本部分开始基于《手把手教你学DSP—基于TMS320X281X》,《手把手教你DSP基于MS320F28335 》、《TMS320X281x DSP原理及C程序开发》,另外结合B站视频进行DSP嵌入式的学习。《手把手教你学DSP—基于TMS320X281X》介绍的相对更为基础和详细,《手把手教你DSP基于TMS320F28335 》则是对前者的升级,一般掌握了TMS320X281X对于TMS320F28335也不会有大的问题。
2024-12-23 22:00:46
1011
3
原创 C++_STL_xx_番外01_关于STL的总结(常见容器的总结;关联式容器分类及特点;二叉树、二叉搜索树、AVL树(平衡二叉搜索树)、B树、红黑树)
不管是map还是multimap unorder_map存储的都是pair(对组),C++中提供了相应的模板,对组(pair)将一对值组合成一个值,这一对值可以具有不同的数据类型,两个值可以分别用pair的两个公有属性first和second访问,pair的第一元素被视为键值,第二元素被视为实值。基于平衡二叉搜索树,因此采用中序遍历之后是升序,这也是为什么能够实现有序排布的原因;基于hash表的unorder_set和unorder_map。用于存储键值唯一的元素,与set和map一致;
2024-10-29 21:55:12
461
原创 C++_STL_01_STL概论(基本概念;六大组件:容器、算法、迭代器、仿函数、适配器、空间配置器;优点)
所有的STL主要都是采用模板的技术写的,学习模板不是为了自己写模板,而是怎么使用模板容器、算法、迭代器、仿函数(重载了小括号)、适配器(配接器)、空间配置器。各种数据结构,如vector、list、deque、set、map等,用来存放数据,从实现角度来看,STL容器是一种class template。-类模板各种常用的算法,如sort、find、copy、for_each。从实现的角度来看,STL算法是一种function tempalte.-函数模板。
2024-10-29 21:42:38
829
原创 C++_STL_xx_unordered_map 容器解析(什么是unordered_map?unordered_map的常用接口有那些?)以及emplace、emplace_back介绍
有时间了再进行详细整理。
2024-10-18 22:03:15
173
转载 C++57个入门知识点_番外5_extern 关键字详解
声明:告诉编译器变量或函数的名称和类型,但不分配内存。例如,extern int x;只是声明变量x,不定义它。定义:不仅声明变量或函数,还分配内存。例如,int x = 42;定义并初始化变量x。
2024-10-16 22:15:08
62
原创 Qt项目实例_03_Qt多线程与定时器QTimer(信号槽机制实现数据共享;解决Timers cannot be started from another thread问题;推荐使用信号启动定时器)
在进行程序编写中,我们有时会有在子线程中使用定时器不间断运行并且将子线程产生的数据发送给主线程的需求,在实际的编写过程中可能会碰到的问题,本文将会介绍产生原因及解决方法。
2024-09-27 15:29:23
1180
原创 Qt项目实例_02_Qt线程间数据通讯及数据共享(线程间共享数据方法:共享内存;信号槽机制;共享类指针 )
在使用QT做项目开发过程中,经常会用到多线程,比如图像采集一个线程,图像处理一个线程、数据通讯一个线程。1.使用共享内存;即两个线程都能够共享的变量(全局变量),这样两个线程都能够访问和修改变量,从而达到共享目的;2.使用信号槽机制,将数据从一个线程传递到另外一个线程3.共享类指针来进行访问不同类的变量和函数;目前我用到的就是第二种方法,原笔者推荐使用第三种方法,下篇将会以信号槽的方式实现线程间数据共享以及如何在子线程使用定时器。
2024-09-27 14:58:33
1316
原创 Qt工程实践_06_Qt MSVC2O17编译器下的程序添加VS2017生成的动态链接库方法
选择lib文件所在位置,注意右下角就不要勾选了,如果勾选了就会在.pro文件生成的代码中增加相应的后缀,此处VS生成的动态不需要。动态链接库中定义有两种函数:导出函数(export function)和内部函数(internal function)。最后:运行时将.dll文件与.exe放在同一目录下,编译没有错误即通过!点击下一步,.pro文件中增加以下代码,添加了搜索路径和lib文件位置。,因此需要使用VS2017 VS,并设置生成的为64位的动态链接库。Widget程序的.h文件中增加。
2024-09-05 23:46:45
274
原创 S7通信协议从入门到精通_1_Sharp7(C#)类编写西门子 S7系列 plc驱动程序(扩展C++语言)
sharp7是基于西门子S7通信协议封装的一个供.net c#使用的类,摘自c#与西门子PLC1500基于sharp7通信学习,而S7协议是西门子S7系列PLC通信的核心协议,它是一种位于传输层之上的通信协议,其物理层/数据链路层可以是MPI总线、PROFIBUS总线或者工业以太网,摘自基于Snap7使用C#编程访问西门子PLC系列教程(2)-S7协议。以下摘抄自如何使用C#和Sharp7编写Siemens S7 plc驱动程序Sharp7是一个新的C#驱动程序,可与Siemens S7 Plc通信。
2024-08-25 20:17:17
1025
原创 QT从入门到实战x篇_22_番外1_Qt事件系统
在Qt中,事件(Event)是一个核心概念,它代表了应用程序的一个动作或发生的事情。事件可以是用户的输入,如鼠标点击或键盘按键,也可以是系统生成的,如窗口大小改变或定时器超时。为了处理这些事件,Qt提供了一个事件循环(Event Loop)。这个循环不断地检查是否有新的事件发生,然后将这些事件发送给相应的对象进行处理。事件(event)是由系统或者Qt本身在不同时刻发出的。当用户按下鼠标、敲下键盘,或者其它情况时候都会发出一个相应的事件。一些事件在对用户操作做出相应时发出,如键盘事件等;
2024-04-24 10:46:38
975
原创 03-1_Qt 5.9 C++开发指南_番外1_QWidget项目默认代码解析(Qt对象模型:对象树与元对象系统;初始化列表用于调用父类有参构造和初始化)
我们在创建Qt Widgets Application的时候,会默认生成一些代码,本篇主要是对其涉及到的内容进行解析。会创建WidgetTest.pro(配置文件,此处不做解析)、WidgetTest.h、main.cpp、WidgetTest.cpp(我这里习惯使用代码编写界面,没有自动生成界面文件,代码会与使用UI设计器进行界面存在差异,需要的话后期再做解析)WidgetTest.hmain.cppWidgetTest.cpp2. 首先从main.cpp开始分析:main函数是程序的入口,这个
2024-04-11 16:21:41
909
原创 C#入门详解_07_详解类型、变量与对象下(C#类型系统:Object、引用类型:类/接口/委托、值类型:结构体/枚举;引用类型变量与实例的关系:引用类型变量里存储的数据是对象的内存地址;装箱与拆箱)
什么是变量表面上来看,变量的用途是存储数据实际上,变量表示了存储位置,并且每个变量都有一个类型,以决定什么样的值能够存入变量-变量对应一个标签,这个标签对应内存中的一个地址变量一共有7种静态变量,实例变量(成员变量,字段),数组元素,值参数,引用参数,输出形参,局部变量狭义的变量指局部变量,因为其它种类的变量都有自己的约定名称简单地讲,同部变量就是方法体(函数体)里声明的变量变量的声明有效的修饰符组合opt 类型 变量名 初始化器opt-opt表示是可有可无,例如。
2024-03-24 16:58:59
290
原创 C#入门详解_06_详解类型、变量与对象上(强弱类型;类型作用:内存空间大小、值范围、成员、基类、类型的操作;分配的内存的位置;Performance Monitor查看进程的堆内存使用量;C#指针)
又名数据类型(Data Type)是数据在内存中存储时的“型号”:数据在内存中占用的空间小内存容纳大尺寸数据会丢失精确度、发生错误大内存容纳小尺寸数据会导致浪费编程语言的数据类型与数据的数据类型不完全相同强类型语言与弱类型语言的比较C语言示例:if条件-强类型编程语言JavaScript示例:动态类型C#语言对弱类型/动态类型的模仿。
2024-03-17 21:07:43
143
原创 C#入门详解_05_C#语言基本元素概览,初识类型、变量与方法,算法简介(for之后两次Table就会自动填充for循环结构)
合法的标识符是指编译器能够编译过去的标识符。此处提出一个C#语言定义文档,并且介绍了C#语言定义文档如何阅读。C++57个入门知识点_16 类的标准写法,对于其中类似myHouse的写法称为驼峰法,因为其可以把大写字母形象的想做骆驼的驼峰。循环初体验递归初体验:一个函数可以调用自己计算1到100的和//循环//for之后两次Table就会自动填充for循环结构i >0;i--)//递归else//递归实现累加运算return 1;else。
2024-03-04 21:57:50
308
原创 C#入门详解_04_类、对象、类成员简介(引用变量与实例的关系;类的三大成员:属性、方法、事件;类的静态成员和实例成员;早绑定与晚绑定;Entity Framework和数据库操作)
本节内容。
2024-03-02 18:00:42
154
1
原创 C#入门详解_03_初识类与名称空间(类库引用是使用名称空间的物理基础;直接引用dll方法(黑盒引用,无源代码);项目引用方法(白盒引用,有源代码);类库项目自建;依赖关系;UML图)
本节内容如下在不是特别困难的情况下,本系列的介绍中会在一开始就会将有可能在未来工作中对软件有深远影响的概念进行灌输,每做一个练习的时候就会强化这些概念,这样工作中就可以写出高效的代码。
2024-02-25 18:29:02
243
原创 C#入门详解_02_初识各类应用程序(学习方法;console;winform;WPF;C#语言还可以进行的网站开发、平板、手机程序开发方法)
本节主要介绍各种可以用C#编写的应用程序。
2024-02-24 12:29:17
299
转载 为什么计算机需要十六进制?(多位二进制数的书写和阅读很不方便。为了解决这一问题,可以用十六进制数来取代二进制数,每个十六进制数对应于4位二进制数)
我们知道内存是按照字节粒度来寻址的,因此采用的数字系统必须很好的表达一个字节,也就是8比特,从这个角度上看256进制(2^8)是最好的,因为一个256进制就是表达一个字节,但还是基于可读性的原因,256进制对于人类来说记忆负担过重,而16进制则刚刚好,一个16进制数字表示一个字节的一半(4个比特),两个16进制数字正好表示一个字节。在十进制中你必须知道所有的进位上的数字后才可以将其转为二进制,这非常不直观,显然如果你想把复杂的十进制数字转为二进制不稍加计算是搞不定的。十六进制数字9对应的二进制为1001。
2024-02-23 13:47:37
620
原创 C#入门详解_19_委托详解(一切皆地址;C/C++中的函数指针;委托的声明、使用;类似C++中的函数对象包装器;委托高级使用:多播委托、隐式显式,异步同步调用;接口interface取代委托)
委托(delegate)是函数指针的"升级版"实例:C/C++中的函数指针一切皆地址变量(数据)是以某个地址为起点的一段内存中所存储的值函数(算法)是以某个地址为起点的一段内存中所存储的一组机器语言指令,CPU执行之后完成算法。直接调用与间接调用直接调用:通过函数名来调用函数,CPU通过函数名直接获得函数所在地址并开始执行→返回间接调用:通过函数指针来调用函数,CPU通过读取函数指针存储的值获得函数所在地址并开始执行→返回Java中没有与委托相对应的功能实体。
2024-02-07 22:25:58
877
原创 C#入门详解_01_课程简介、C#语言简介、开发环境和学习资料的准备
开设本课程的目的传播C#开发的知识,让更多的人有机会接触到软件开发行业引导有兴趣或者想转行的朋友进入软件开发行业课程内容完整讲述C#语言在实际软件开发中的应用采用知识讲述加实例程序的形式目标听众软件开发爱好者想从事软件开发行业的朋友无需软件开发经验,但需要熟悉计算机的操作(软件安装、文档编辑、使用IE和搜索引擎)难度从100~500(由低到高)什么是程序(Program)为什么需要程序怎样编写程序和程序语言的选择。
2024-02-03 09:33:48
951
原创 如何学习一些需要算法的程序
但要意识到大部分人都是自己无法解决的,如果解决不了,这时不要气馁,如果十五分钟还想不出来,此时我建议您就可以看答案了。看懂之后尝试自己去修改程序,并且知道修改之后程序的不同输出结果的含义,不建议看懂程序之后就立即自己敲程序。如果程序实在无法彻底理解,就把它背会,无法彻底理解的程序很少很少(几乎没有)。关键是把答案看懂,这个要花很大的精力,也是我们学习的重点。看懂一个程序要分三步:流程、每个语句的功能、试数。不看答案,自己独立把答案敲出来。照着答案去敲,调试错误。如果解决不了,就看答案。
2024-01-18 21:53:26
585
原创 C语言基础入门48篇_00_如何学习一门新语言(针对初学者)
编程序就像是在写文章。学习一门新的语言,第一步就是把它所涉及的基础知识大体过一点,不求深解,只求了解——第一遍:无需了解太过深入的理论,大体知道这门语言是什么样的,主要面向哪些场合,一些基本的语法格式是什么样的就可以了。刚开始写代码,没有多少人一上来就能立刻自己写一个很完善很强大的代码,甚至连基本的语法都会写错,这时候抄代码就很关键了,从书上抄,从例子里抄,边抄边想,边想边回忆语法。没有人能一下子写出完全正确的代码,自己试着写一些代码,通过不断调试来验证自己的一些想法,继续思考,再次验证,来回折腾。
2024-01-18 21:49:54
644
原创 MySQL数据库入门到大牛_高级_01_Linux下MySQL的安装与使用(版本以8.0为主,仅安装8.0即可;远程连接访问;mysql登录方法;字符集操作;sql_mode的合理设置)
sql_mode 会影响MySQL支持的SQL语法以及它执行的 数据验证检查。通过设置sql_mode,可以完成不同严格程度的数据校验,有效地保障数据准确性MySQL服务器可以在不同的SQL模式下运行,并且可以针对不同的客户端以不同的方式应用这些模式,具体取决于sql_mode系统变量的值。5.6的mode默认值为空(即: NO_ENGINESUBSTITUTION),其实表示的是一个空值,相当于没有什么模式设置,可以理解为 宽松模式。
2024-01-14 21:49:22
1032
原创 MySQL数据库入门到大牛_基础_18_MySQL8其它新特性(MySQL基础部分最后一章;新特性概述;窗口函数;公用表表达式)
基础篇到此为止:分享1:做一个自律的人,禁得住诱惑,坚持做一件事,用时间堆出来分享2:如何对待生活上,工作上的冗余,反冗余;如何看待社会的脆弱性,反脆弱性?个人如何应对?个人就是螺丝钉,分工明确,有可能是一招鲜吃遍天,充分发挥长板,实现不可替代性的提升,在合适的年纪去发展长板。
2023-11-28 16:43:19
1161
原创 MySQL数据库入门到大牛_基础_17_触发器
MySQL从5.0.2版本开始支持触发器。MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序。触发器是由事件来触发某个操作,这些事件包括INSERTUPDATEDELETE事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会自动激发触发器执行相应的操作。当对数据表中的数据执行插入、更新和删除操作,需要自动执行一些数据库逻辑时,可以使用触发器来实现。
2023-11-28 14:14:38
1004
原创 MySQL数据库入门到大牛_基础_16_变量、流程控制与游标
针对MySQL程序在执行过程中出现问题的话如何去处理?也就是错误或者异常处理的机制,类似C++中的异常处理。定义条件是事先定义程序执行过程中可能遇到的问题,处理程序定义了在遇到问题时应当采取的处理方式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能力,避免程序异常停止运行。说明:定义条件和处理程序在存储过程、存储函数中都是支持的。定义条件就是给MySQL中的错误码命名,这有助于存储的程序代码更清晰。它将一个错误名字和指定的错误条件关联起来。
2023-11-28 10:53:05
930
原创 MySQL数据库入门到大牛_基础_15_存储过程与函数
含义:存储过程的英文是。它的思想很简单,就是一组经过预先编译的 SQL 语句的封装。执行过程存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行。好处1、简化操作,提高了sql语句的重用性,减少了开发程序员的压力2、减少操作过程中的失误,提高效率3、减少网络传输量(客户端不需要把所有的 SQL 语句通过网络发给服务器)4、减少了 SQL 语句暴露在网上的风险,也提高了数据查询的安全性。
2023-11-24 16:01:59
997
原创 MySQL数据库入门到大牛_基础_14_视图及基本操作
视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。比如,针对一个公司的销售人员,我们只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给他。再比如,人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中则不提供这个字段。刚才讲的只是视图的一个使用场景,实际上视图还有很多作用。最后,我们总结视图的优点。1. 操作简单。
2023-11-24 11:17:59
1003
原创 MySQL数据库入门到大牛_基础_13_约束(NOT NULL非空;UNIQUE唯一;PRIMARY KEY 主键(非空且唯一)约束;FOREIGN KEY外键约束;CHECK检查;DEFAULT)
数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。实体完整性(Entity Integrity):例如,同一个表中,不能存在两条完全相同无法区分的记录域完整性(Domain Integrity):例如:年龄范围0-120,性别范围“男/女”
2023-11-23 16:34:33
208
02-0-Qt 5.9 C++开发指南-GUI应用程序设计基础源码
2023-06-26
博文C++数据结构X篇-04-单向链表框架搭建、实现和测试(链表的定义,常用操作的实现等)的配套资源
2022-12-02
Qt翻金币项目XMind思维导图
2022-11-17
Piotr's Computer Vision Matlab Toolbox.zip
2020-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人