什么是PyTorch?其实,PyTorch 可以拆分成两部分:Py 和 Torch。Py 就是 Python,Torch是一个有大量机器学习算法支持的科学计算框架。PyTorch 是由 Facebook 的人工智能研究实验室 (FAIR) 开发的开源机器学习库,主要用于计算机视觉和自然语言处理等领域的深度学习研究和应用开发。Lua语言简洁高效,但由于其过于小众,用的人不是很多。考虑到Python在人工智能领域的领先地位,以及其生态的完整性和接口的易用性, 几乎任何框架都不可避免地要提供Python接口。终于,2017年,Torch 的幕后团队使用Python重写了Torch 的很多内容,推出了PyTorch,并提供了Python接口。此后,PyTorch成为最流行的深度学习框架之一。 直白地说,PyTorch可以看成一个Python库,可以像NumPy、Pandas一样被Python所调用。PyTorch 与 NumPy 的功能是类似的,可以把PyTorch看成应用在神经网络里的NumPy,而且是加入了GPU支持的NumPy。 ### PyTorch经典入门教程-顶尖高校初版 #### PyTorch概述 PyTorch作为当今最热门的深度学习框架之一,是由Facebook的人工智能研究实验室(FAIR)开发的一个开源机器学习库。它结合了Python的强大编程能力与Torch框架的科学计算优势,为用户提供了一个灵活且高效的平台,用于构建复杂的神经网络模型。 - **PyTorch的组成**:PyTorch的名字来源于两个部分,“Py”代表Python,“Torch”则指的是一个支持大量机器学习算法的科学计算框架。 - **发展历史**:最初,Torch框架是用Lua语言编写的,但因其用户群体较小,后来开发团队决定采用更为流行的Python语言进行重写,最终于2017年发布了PyTorch。 - **与NumPy的关系**:PyTorch的功能与NumPy类似,都可以被Python调用,但它更专注于神经网络的构建,并且支持GPU加速计算。 #### 为什么选择PyTorch PyTorch之所以能够迅速获得广泛认可,原因在于它的灵活性、易用性和强大的社区支持。 - **灵活性**:PyTorch允许用户通过动态计算图来构建和调整模型结构,这种灵活性对于研究者来说极为重要。 - **易用性**:由于Python是深度学习领域的首选语言,而PyTorch又是一个Python库,因此用户可以轻松地利用现有的Python技能进行开发。 - **社区与支持**:PyTorch拥有庞大的开发者和用户社区,这意味着遇到问题时更容易找到解决方案和支持。 #### 安装PyTorch 为了确保项目的可维护性和兼容性,建议在一个独立的虚拟环境中安装PyTorch。 - **创建虚拟环境**:使用Anaconda创建虚拟环境是一种常用的方法。例如: ```shell conda create --name pytorch python=3.7 ``` 这条命令会创建一个名为`pytorch`的虚拟环境,并安装指定版本的Python。 - **激活虚拟环境**: ```shell activate pytorch ``` 使用这条命令可以激活刚才创建的虚拟环境。 - **安装PyTorch**:访问PyTorch官方网站(https://pytorch.org/),根据系统配置选择合适的版本和依赖项,网站会自动生成相应的安装命令。例如,安装CPU版本的PyTorch命令可能类似于: ```shell pip install torch torchvision ``` #### PyTorch与其它深度学习框架 除了PyTorch之外,还有许多其他流行的深度学习框架,例如TensorFlow、Keras、Caffe2等。 - **TensorFlow**:由Google开发,也是目前最流行和功能最全面的深度学习框架之一。 - **Keras**:一个高级神经网络API,可以运行在TensorFlow、Microsoft Cognitive Toolkit、Theano或PyTorch之上。 - **Caffe2**:同样源自Facebook,是一款专注于高性能的深度学习框架。 虽然这些框架各有特点,但PyTorch以其灵活性和易用性在学术界和工业界都获得了高度评价。 #### 结语 PyTorch不仅是一个强大的深度学习框架,也是一个易于上手的工具,尤其适合那些对NumPy熟悉的开发者。通过创建虚拟环境并按照官方指南安装PyTorch,用户可以快速地开始构建自己的深度学习模型。随着社区的不断壮大和技术的持续进步,PyTorch将继续引领深度学习的发展方向。
2025-10-11 15:08:18 715KB pytorch 经典教程
1
DSP2833x电机控制模型设计:Simulink自动生成代码及MATLAB仿真入门教程,Simulink在DSP2833x系列开发板电机控制中的建模设计与代码自动生成入门教程,DSP2833x基于模型的电机控制设计 Simulik自动生成代码 DSP2833x基于模型的电机控制设计 MATLAb Simulik自动生成代码 基于dsp2833x 底层驱动库的自动代码生成 MATLAB Simulink仿真及代码生成技术入门教程 内容为Simulink在嵌入式领域的应用,具体是Simulink在DSP28335这块开发版上的应用模型:包括直流电机、PMSM、步进电机控制模型,还有常见的LED、串口、CAN等通讯相关Simulink模型,模型都有相关解释文件。 ,DSP2833x; 电机控制设计; Simulink自动生成代码; 嵌入式领域应用; 开发版应用模型; 直流电机控制模型; PMSM控制模型; 步进电机控制模型; LED通讯模型; 串口通讯模型; CAN通讯模型。,DSP2833x电机控制模型设计:Simulink自动代码生成技术详解
2025-10-11 14:26:38 596KB xhtml
1
DSP2833x系列处理器在电机控制设计中的应用,尤其是Simulink在嵌入式领域的应用。主要内容涵盖DSP2833x的基础特性及其在电机控制中的优势,Simulink提供的强大仿真和代码生成功能,包括直流电机、PMSM、步进电机等多种电机控制模型的建立与仿真,以及LED、串口、CAN等通讯模型的构建。文中强调了Simulink自动生成代码技术的优势,即通过生成的代码直接在硬件上实现仿真模型的功能,从而提高开发效率并降低开发成本。 适合人群:从事嵌入式系统开发的技术人员,尤其是对电机控制和DSP有研究兴趣的研发人员。 使用场景及目标:① 使用Simulink进行电机控制模型的仿真;② 自动生成代码并在DSP2833x开发板上实现;③ 提高电机控制系统的性能和开发效率。 其他说明:本文不仅提供理论指导,还附带实际操作案例,帮助读者深入理解和掌握DSP2833x与Simulink结合使用的技巧。
2025-10-10 19:06:20 337KB
1
在本文中,我们将深入探讨如何使用C#编程语言来读取西门子S7系列的PLC(可编程逻辑控制器)数据,特别是通过Profinet协议进行通信。西门子S7系列PLC广泛应用于自动化控制领域,而Profinet是工业以太网标准,提供高速、实时的数据交换能力。 我们要了解C#中的库S7NetPlus,这是一个专门用于与西门子S7系列PLC通信的开源库。S7NetPlus提供了简单易用的API,使得开发者可以方便地与PLC进行数据交互。在压缩包中的"S7NetPlus_s7netplus Wiki · GitHub.pdf"文档,详细介绍了这个库的使用方法和相关功能。 1. **S7NetPlus库介绍**:S7NetPlus库是基于.NET Framework构建的,它实现了与西门子PLC的连接、数据读写、断线重连等功能。该库使用了S7通信协议,支持S7-300和S7-400系列PLC,并且可以通过Profinet协议进行通信。 2. **建立连接**:使用S7NetPlus库,你需要创建一个`S7Client`实例,设置PLC的IP地址、端口号(默认为102)和其他连接参数。然后调用`Connect()`方法建立连接,确保PLC在可访问状态。 3. **读取数据**:要从PLC读取数据,你可以使用`ReadArea()`或`Read()`方法。这些方法需要指定读取的区域(如DB、MB、MW等)、起始地址和要读取的字节数。返回的数据通常会以`byte[]`数组的形式呈现,根据需求进行解析。 4. **写入数据**:写入数据的操作类似,使用`WriteArea()`或`Write()`方法。提供要写入的地址、数据类型和值即可。 5. **错误处理和断线重连**:S7NetPlus库提供了异常处理机制,当PLC连接断开时,可以通过`Disconnected`事件监听并尝试重新连接。确保程序在异常发生时能恢复通信,保持系统的稳定性。 6. **示例源码**:在压缩包中的"s7netplus-develop.zip"文件包含了S7NetPlus的源代码,这有助于开发者理解其工作原理,以及如何在自己的项目中应用和扩展。源码中包含示例程序,展示了如何使用库的各种功能,包括连接PLC、读写数据等。 通过学习C#的S7NetPlus库,开发者能够快速构建与西门子S7系列PLC的通信系统,实现远程监控和控制。掌握这些知识后,你将有能力开发出适应各种工业自动化场景的应用程序,提升生产效率和设备管理水平。记得在实际应用中遵守安全规范,确保系统的稳定性和安全性。
2025-10-10 17:34:40 1.21MB 课程资源
1
《PLC教程英文书》是一份综合性的资料,主要涵盖了可编程逻辑控制器(Programmable Logic Controller,简称PLC)的基础知识、应用以及自动化制造系统的实现。这份教程以英文形式详细阐述了PLC在现代工业自动化中的核心作用,是学习和理解这一技术的重要资源。 PLC是一种数字运算操作的电子系统,专门设计用于工业环境下控制各种设备和过程。它们通过读取输入信号,如传感器数据,然后基于预设的逻辑程序执行输出控制,如驱动电动机或阀门。在Automating Manufacturing Systems with PLCs.pdf这本书中,读者可以深入学习以下关键知识点: 1. **PLC的基本原理**:了解PLC的硬件结构,包括中央处理器(CPU)、存储器、输入/输出模块(I/O)以及电源单元等组成部分,以及它们如何协同工作。 2. **编程语言**:学习PLC编程的常用语言,如梯形图(Ladder Diagram,LD)、结构文本(Structured Text,ST)、指令表(Instruction List,IL)和功能块图(Function Block Diagram,FBD),并理解每种语言的特点和适用场景。 3. **编程逻辑**:掌握基本的编程逻辑,如AND、OR、NOT等布尔运算符,以及定时器、计数器等控制结构的应用。 4. **系统设计**:学习如何根据实际需求选择合适的PLC型号,设计输入/输出接口,以及如何进行系统配置和布局。 5. **故障诊断与维护**:了解PLC系统的故障排查方法,学习如何通过监控和诊断工具找出问题,并进行有效的维护。 6. **案例研究**:书中可能包含多个实际案例,展示PLC在不同制造业应用场景,如包装机械、生产线控制、电梯控制等,以加深对PLC工作原理的理解。 7. **自动化制造系统**:深入探讨PLC在自动化制造系统中的角色,包括与计算机集成制造(CIM)、分布式控制系统(DCS)和工业物联网(IoT)的交互。 8. **安全标准与规范**:学习相关的安全标准,如IEC 61131-2,确保PLC系统的安全性和可靠性。 9. **实践项目**:可能提供实践项目指导,让读者有机会动手编程和调试PLC,提高实际操作技能。 10. **最新技术趋势**:了解当前PLC技术的发展趋势,如模块化、网络化和智能化,以及如何利用这些新技术提升生产效率和灵活性。 通过阅读《PLC教程英文书》,无论是初学者还是有经验的工程师,都能从中获取丰富的知识,提升对PLC及其在自动化制造系统中应用的理解。这份资料不仅提供了理论知识,还有实践指导,对于希望在工业自动化领域深化技能的人来说是一份宝贵的资源。
2025-10-10 17:27:47 2.98MB 综合资料
1
CefSharp是一个基于Chromium Embedded Framework (CEF)的.NET封装库,它允许.NET开发者在他们的应用程序中嵌入 Chromium 浏览器引擎。这个整合包是针对CefSharp的ver-49版本,专为支持.NET Framework 4.0以及Visual Studio 2010设计的。在本文中,我们将深入探讨CefSharp、CEF、.NET Framework 4.0、VS2010的相关知识,以及如何使用NuGet进行导入和集成。 让我们理解CefSharp的核心特性。CefSharp提供了两种主要的使用方式:WPF(Windows Presentation Foundation)和WinForms。这两种都是.NET Framework下的UI框架,CefSharp为它们分别提供了WebBrowser控件,使得开发者可以在各自的界面中嵌入浏览器功能。在ver-49版本中,这些控件已经相当成熟,能够处理JavaScript交互、HTML5渲染、网络请求等多种功能。 .NET Framework 4.0是微软推出的面向对象的开发平台,用于构建Windows桌面应用、Web应用和服务。它包含了大量的类库和API,使得开发者可以使用C#或VB.NET等语言进行开发。CefSharp ver-49对.NET Framework 4.0的支持意味着它可以无缝集成到使用这个框架的项目中。 Visual Studio 2010是微软提供的一个集成开发环境(IDE),适用于多种语言和平台的开发。对于CefSharp来说,VS2010不仅提供了编写代码的便利,还可以通过NuGet包管理器来轻松安装CefSharp,避免了手动下载和添加引用的繁琐过程。 接下来,我们谈谈NuGet,这是一个针对.NET Framework的包管理器,可以方便地在项目中添加、更新和移除依赖库。在VS2010中,你可以通过以下步骤使用NuGet导入CefSharp ver-49: 1. 打开你的VS2010项目。 2. 在解决方案资源管理器中右键点击你的项目,选择“管理NuGet程序包”。 3. 在打开的NuGet包管理器窗口中,搜索"CefSharp"。 4. 你会看到CefSharp的多个版本,找到ver-49并点击“安装”。 5. 安装过程中,NuGet会自动添加必要的引用,并配置好必要的设置。 在集成CefSharp之后,你需要初始化CefSharp环境,设置浏览器的基本属性,然后实例化WebBrowser控件并添加到你的UI中。此外,CefSharp提供了丰富的API,你可以利用它们实现如JavaScript交互、自定义请求处理、加载进度控制等功能。 总结来说,CefSharp ver-49是一个强大的.NET库,让你能在.NET Framework 4.0和Visual Studio 2010环境下构建具备现代Web功能的应用。通过NuGet的便捷导入,开发者可以快速地将CefSharp集成到项目中,享受Chromium引擎带来的强大浏览体验。这个整合包的提供,无疑为.NET开发者提供了宝贵的资源,简化了开发流程,提高了开发效率。
2025-10-10 17:05:00 76.77MB CefSharp framework4.0  vs2010
1
随着信息技术的飞速发展,移动应用与开发已成为当下最为热门的行业之一,尤其是对于职业院校的学生来说,掌握这一领域的知识和技能显得尤为重要。本文将详细介绍“新一代信息技术赛道(中职组)职业院校技能大赛移动应用与开发赛项实战教程”,旨在为参赛学生提供系统的学习指南和实战训练。 移动应用开发不仅仅涉及编程技巧的提升,更包括了对移动设备操作系统、人机交互设计、网络通信协议以及云服务等多方面的理解。在本教程中,参赛者将全面学习如何开发一款适用于Android、iOS或其他移动平台的应用程序。从UI/UX设计开始,到最终的发布,涵盖了应用开发的整个流程。 教程中的一个重要组成部分是介绍如何使用开发工具和框架。例如,对于Android开发,将深入讲解Android Studio的使用方法,如何创建项目,如何进行调试,以及如何优化应用性能。同时,针对iOS应用的开发,本教程也将介绍Xcode的高级用法,包括如何运用Swift或Objective-C语言进行编程。 在实战训练方面,教程设计了一系列实战项目,让参赛者通过实践操作来巩固理论知识。这些项目不仅仅局限于简单的应用,还包括了对现有移动应用进行定制和二次开发的高级技能。通过这样的实战训练,参赛者可以大幅提升解决实际问题的能力,为将来的职业生涯打下坚实基础。 此外,教程还会对当前移动应用开发中的热门技术进行解读,例如人工智能在移动应用中的应用、增强现实(AR)与虚拟现实(VR)技术在移动平台上的实现、物联网(IoT)与移动应用的结合等。这些内容不但可以开拓参赛者的视野,还能激发他们的创新思维。 教程还专门设置了针对大赛的赛题解析部分,指导学生如何根据大赛的要求进行思考和设计应用。从理解赛题要求,到制定开发计划,再到完成开发和测试,每一步都有详细的指导和建议。通过这样的赛前准备,参赛者可以更好地把握比赛的节奏和方向。 在移动应用与开发领域,安全问题至关重要。本教程也将强调移动应用的安全性,包括数据加密、用户隐私保护、防篡改和防止恶意软件攻击等内容。通过学习这些知识,学生可以了解在开发过程中如何确保应用的安全性和稳定性。 教程也着重于引导学生如何进行团队协作和项目管理。在真实的企业工作环境中,有效的团队合作和项目管理对于项目的成功至关重要。因此,本教程不仅包括技术指导,还包括了如何合理分配任务,如何进行有效沟通,以及如何在团队中发挥个人特长等非技术性的内容。 总结而言,本实战教程为中职组学生提供了一个全面、系统的学习和训练平台,旨在帮助他们掌握新一代信息技术,特别是移动应用与开发的核心技能,为未来的职业生涯做好准备。通过参与全国职业院校技能大赛,学生们不仅可以检验自身的学习成果,还能与来自全国各地的同龄人进行交流和切磋,共同提升和成长。
2025-10-09 16:16:24 6KB 全国职业院校技能大赛
1
嵌入式系统是现代计算机领域的重要分支,它指的是将计算机技术嵌入到各种设备或系统之中,使其能够完成特定的计算任务。随着科技的发展,嵌入式系统已经广泛应用于通信、消费电子、工业控制、汽车电子、医疗设备等多个领域,成为人们生活中不可或缺的一部分。嵌入式系统原理及应用课程是相关专业学生必须掌握的知识,这门课程的主要内容包括嵌入式系统的基本概念、设计原理、硬件架构、软件编程以及实际应用案例等。 在嵌入式系统原理的学习中,首先需要了解嵌入式系统的基本特征和分类。嵌入式系统通常具有集成度高、资源受限、实时性强、接口多样等特点。根据功能和性能的不同,嵌入式系统可以分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器等类型。 硬件架构是嵌入式系统的核心组成部分,一个典型的嵌入式系统硬件架构包括处理器核心、存储器、输入输出接口、以及与其他系统交互的通信接口。课程中会详细介绍这些硬件组件的功能和选用原则,帮助学生理解嵌入式系统的硬件设计基础。 软件编程是嵌入式系统开发中的关键环节,这涉及到操作系统的选择、开发环境的配置、程序设计语言的使用等方面。在教学中,常用的嵌入式操作系统有VxWorks、嵌入式Linux、μC/OS-II等。不同的操作系统有着不同的特点和适用场景,学生需要根据具体需求选择合适的操作系统,并学习如何搭建开发环境、编写和调试程序。 除此之外,嵌入式系统原理及应用课程还会介绍一些高级主题,比如如何设计一个低功耗的嵌入式系统、如何实现系统可靠性、安全性等。这些内容要求学生不仅要掌握技术知识,还要具备一定的工程实践能力。 在应用案例的讲解中,课程通常会展示一系列经典的嵌入式系统实例,让学生了解嵌入式系统在现实世界中的运用。例如,在工业自动化领域,嵌入式系统可以实现生产线的实时监控和控制;在消费电子领域,嵌入式系统则广泛应用于智能手机、平板电脑等设备中;在智能汽车领域,嵌入式系统使汽车具备了高级辅助驾驶、信息娱乐等功能。 嵌入式系统原理及应用课程不仅仅是一门理论课程,它还涉及到大量的实践操作。学生需要通过课程学习掌握嵌入式系统的设计和开发流程,从而为将来在电子工程、计算机科学等领域的工作打下坚实的基础。
2025-10-09 14:45:02 39.8MB
1
嵌入式系统是一种集成在设备或系统中的专用计算机系统,它们通常执行特定的功能,并且能够高效、实时地处理数据。电子科技大学的“嵌入式系统及应用”课程旨在深入探讨这个领域,帮助学生掌握核心技术和实际应用。 在该课程中,你将学习到: 1. **嵌入式系统定义与组成**:了解嵌入式系统的概念,包括其硬件和软件部分,如微处理器、存储器、输入/输出接口等。同时,会介绍嵌入式操作系统(如RTOS)和开发工具链。 2. **微处理器与微控制器**:深入研究不同类型的微处理器和微控制器,如ARM架构,分析其性能特点和应用领域。 3. **嵌入式编程**:学习C/C++编程语言,以及如何针对嵌入式环境优化代码,提高效率和内存利用率。 4. **实时操作系统**:理解实时操作系统的原理和特性,如优先级调度、中断处理和实时响应能力。 5. **嵌入式软件开发**:探索嵌入式系统的软件开发流程,包括驱动程序开发、固件更新和调试技巧。 6. **嵌入式系统设计**:学习如何设计和实现一个完整的嵌入式系统,涵盖需求分析、系统架构设计、硬件选型和软件开发。 7. **嵌入式应用实例**:通过案例研究,如智能家居、自动驾驶汽车、物联网设备等,展示嵌入式系统在不同领域的实际应用。 8. **电源管理与功耗优化**:探讨如何在嵌入式系统中有效地管理和降低功耗,这对于电池供电的设备尤其重要。 9. **通信协议与网络技术**:学习常见的嵌入式通信协议,如UART、SPI、I2C,以及物联网相关的TCP/IP协议栈。 10. **安全与可靠性**:了解如何确保嵌入式系统的安全性,防止恶意攻击,以及如何设计高可靠性的系统。 11. **嵌入式系统测试与调试**:学习使用仿真器、示波器等工具进行硬件调试,以及使用GDB等工具进行软件调试。 12. **项目实践**:通过实际的项目开发,提升学生的动手能力和问题解决能力。 通过电子科技大学的这门课程,你将不仅能够理论联系实际,还能获得丰富的实践经验,为未来在嵌入式系统领域的职业生涯打下坚实的基础。文件名“嵌入式系统及应用”可能包含详细的课件、讲义、练习题和可能的项目指南,这些都是深化理解和掌握这些知识点的重要资源。
2025-10-09 14:40:46 6.42MB 嵌入式教程
1
STM8是意法半导体(STMicroelectronics)推出的一系列8位微控制器,具有高效能、低功耗的特点,广泛应用于各种嵌入式系统。STVD(STM8微控制器开发环境)是专为STM8设计的一款集成开发环境,提供了一整套的开发工具,包括编译器、调试器和模拟器,方便开发者进行程序编写、调试和优化。 在"STVD_stm8教程"中,我们可以学习到以下关键知识点: 1. **STVD的下载与安装**:你需要访问ST官方网站获取STVD软件,下载最新版本的安装包。安装过程中,注意遵循提示,选择合适的安装路径,并确保安装过程中勾选必要的组件,如编译器、仿真器等。 2. **STM8工程创建**:在STVD中,你可以通过“新建项目”来创建一个STM8的工程。需要选择相应的MCU型号,设置工程名称和保存位置,然后添加源代码文件。工程配置中,你需要设定正确的芯片时钟频率、中断向量表等参数。 3. **编程语言与编译器**:STVD支持C和汇编语言编写代码。C语言便于程序复用和模块化,而汇编语言则可以实现更底层的控制。编译器会将源代码转换为可执行的二进制文件,STVD内置的编译器是STM8的专用版本,它理解STM8特定的指令集。 4. **STM8的寄存器和功能**:了解STM8的内部结构,特别是其寄存器布局,是编程的基础。STM8的寄存器控制着CPU的运行、外设的操作以及中断处理等。例如,你需要知道如何配置TIMx(定时器)寄存器来实现定时任务,或者怎样操作GPIO(通用输入输出)寄存器来控制外部硬件。 5. **中断与事件处理**:STM8支持多种中断源,如定时器中断、串口接收中断等。理解中断服务例程(ISR)的工作原理和编写方法,能够有效提升实时系统的响应速度。 6. **调试技巧**:STVD提供了强大的调试工具,包括断点设置、单步执行、变量观察、内存查看等功能。学会使用这些工具可以帮助你快速定位并解决程序中的问题。 7. **外设接口与通信协议**:STM8系列通常包含多种外设,如I²C、SPI和UART等通信接口,了解这些接口的工作原理和编程模型,能够实现与其他设备的数据交换。 8. **优化与性能提升**:通过合理地组织代码、使用优化选项以及理解编译器的工作方式,可以提高程序的运行效率,降低内存占用。 9. **应用实例**:教程可能还会提供一些实际应用案例,比如LED闪烁、温度传感器读取、串口通信等,帮助初学者更好地理解和实践STM8的开发。 10. **持续学习与社区支持**:STM8开发者社区是一个宝贵的资源,你可以在论坛上找到其他开发者的经验分享、解决问题的方法以及最新的固件更新信息。 通过深入学习"STVD_stm8教程",你可以逐步掌握STM8微控制器的开发技能,从基础的程序编写到复杂的系统设计,最终达到从入门到精通的目标。在实践过程中,不断探索和研究,将使你在这个领域更加得心应手。
2025-10-09 11:14:22 8.55MB stvd教程 stm8教程 从入门到精通
1