《DMG474电机控制 专题教程V1.1 》第1章 本书的学习方法

第1章 本书的学习方法


       为了让大家更好的学习和使用本书,本章将给大家介绍一下本书的学习方法,包括:本书的学习顺序、编写规范、代码规范、资料查找、学习建议等内容。

       本章将分为如下几个小节:

       1.1,本书学习顺序

       1.2,本书参考资料

       1.3,本书编写规范

       1.4,本书代码规范

       1.5,例程资源说明

       1.6,学习资料查找

       1.7,给初学者的建议


        1.1 本书学习顺序

       为了让大家更好的学习和使用本书,我们做了以下几点考虑:

       1,坚持循序渐进的思路编写,从基础到入门,从简单到复杂。

       2,将知识进行分类介绍,简化学习过程,包括:基础篇、电机专题篇、FOC篇。

       3,将硬件介绍独立成一个文档(《DMG474硬件参考手册.pdf》),本书着重介绍软件知识。

       因此,大家在学习本书的时候,我们建议:先通读一遍《DMG474硬件参考手册.pdf》,对开发板的硬件资源有


        1.2 本书参考资料

       本书的主要参考资料有以下几份文档:

       《STM32G4xx参考手册_V7(英文版).pdf》

       《STM32G474VET6(英文版).pdf》

       前者是ST官方针对STM32的一份通用参考资料,重点介绍STM32内部资源及使用,寄存器描述等,内容翔实,但是没有实例,读者只能根据自己对书本的理解来编写相关代码。

       后者是专门介绍STM32芯片硬件设计方面的书,其内容包括:芯片的引脚功能、外设复用情况、电气特性等。所以,在学习STM32的时候,必须结合这份资料来看。

       这几份参考文档都在我们提供的光盘资料里面可以找到,路径:A盘 7,STM32参考资料 文件夹下可以找到。


        1.3 本书编写规范

       本书通过数十个例程,给大家详细介绍如何使用STM32控制电机,按难易程度以及知识结构,我们将本书分为三个篇章:基础篇、电机专题篇和FOC篇。

       基础篇,共4章,主要是电机基础知识介绍,包括电机的概念、分类、结构、工作原理、电机控制相关的STM32外设介绍等,这些章节在结构上没有共性,但是互相有关联,有一个集成的关系在里面,即:必须先学了前面的知识,才好学习后面的知识点。

       电机专题篇和FOC篇,详细介绍了多种电机的控制原理,并且还介绍了一些非常实用的程序代码。这部分内容占了本书的绝大部分篇幅,而且这些章节在结构上都比较有共性,一般分为4个部分,如下:

       1,控制原理介绍

       2,硬件设计

       3,程序设计

       1, 下载验证

       控制原理介绍,简单介绍具体章节所要用到的电机控制原理,让大家对所用电机的控制原理有一个基本了解,方便后面的程序设计。

       硬件设计,包括具体章节的实验具体功能说明、所用到的硬件资源及原理图连接方式,从而知道要做什么? 需要用到哪些IO口? 是怎么接线的? 方便程序设计的时候编写驱动代码。

       程序设计,一般包括:驱动介绍、配置步骤、程序流程图、关键代码分析、main函数讲解等部分。一点点介绍程序代码是怎么来的,注意事项等,从而学会整个代码。

       下载验证,属于实践环节,在完成程序设计后,教大家如何下载并验证我们的例程是否正确? 完成一个闭环过程。


        1.4 本书代码规范

       为了方便大家编写高质量代码,我们对本书的代码风格进行了统一,详细的代码规范说明文档,见光盘:A盘→1,入门资料 《嵌入式单片机 C代码规范与风格.pdf》,初学者务必好好学习一下这个文档。

       总结几个规范的关键点:

       1,所有函数/变量名字非特殊情况,一般使用小写字母;

       2,注释风格使用doxgen风格,除屏蔽外,一律使用 /* */ 方式进行注释;

       3,TAB键统一使用4个空格对齐,不使用默认的方式进行对齐;

       4,每两个函数之间,一般有且只有一个空行;

       5,相对独立的程序块之间,使用一个空行隔开;

       6,全局变量命名一般用g_开头,全局指针命名一般用 p_开头;

       7,if、for、while、do、case、switch、default等语句单独占一行,一般无论有多少行执行语句,都要用加括号:{}。


        1.5 例程资源说明

       DMG474电机开发板提供的电机专题例程多达74个(基于HAL库)。我们提供的这些例程,基本都是原创,拥有非常详细的注释,代码风格统一、循序渐进,非常适合初学者入门。

       DMG474电机开发板的例程列表如表1.5.1所示:


表1.5.1 DMG474电机开发板例程表


       从上表可以看出,正点原子DMG474电机开发板的例程基本上涵盖了电机控制相关的STM32外设,并且在电机控制方面实现了很多有价值的例程。

       从上表可知,例程安排是循序渐进的,首先从最基础的基本定时器中断开始,然后一步步深入,从简单到复杂,有利于大家的学习和掌握。所以,正点原子DMG474电机开发板是非常适合初学者的。当然,对于想深入学习STM32以及电机控制的朋友,正点原子DMG474电机开发板也绝对是一个不错的选择。


        1. 6 学习资料查找

       学习资料包括三个方面:

       1,ST官方的学习资料

       ST官方资料有两个网址:https://www.stmcu.com.cn/和 www.st.com 。

       https://www.stmcu.com.cn/是ST中文社区,里面的资料全部由ST中国区的人负责更新和整理,包含了所有ST公司的MCU资料,比如:STM32G4最新的芯片文档(参考手册、数据手册、勘误手册、编程手册等)、软件资源(固件库、配置工具、PC软件等)、硬件资源(各种官方评估板)等,如图1.6.1所示:


图1.6.1 STM32G4相关资料(stmcu.org)


       www.st.com 是ST官网,ST最新最全的资料,一般都是放在该网站,ST中文社区的资料,一般都是从ST官网搬过来的,所以如果你想找最新的STM32官方资料,应该在ST官网找。对于初学者,一般从ST中文社区获取ST官方资料就可以了。ST官网的STM32G4资料页面如图1.6.2所示(注意:默认是英文语言,需要在网页右上角设置成中文):


图1.6.2 STM32G474官网资料(st.com)


       ① ,STM32G474的硬件相关资源,在:产品 微控制器 STM32 ARM Cortex 32位微控制器 STM32主流MCU STM32G4系列 STM32G474 文件路径下面可以找到。

       ② ,STM32G474的软件相关资源,在:工具与软件→嵌入式软件 微控制器软件 STM32微控制器软件 路径下面可以找到。

       2,正点原子的学习资料

       正点原子给大家提供的学习资料,都放在正点原子文档中心,大家可以在文档中心下载所有正点原子最新最全的学习资料,文档中心地址:www.openedv.com/docs/index.html ,如图1.6.3所示:


图1.6.3 正点原子文档中心


       在文档中心下面,我们可以找到正点原子所有开发板、模块、产品等的详细资料下载地址。

       3,正点原子论坛

       正点原子论坛,即开源电子网:,该论坛从2010年成立至今,已有十余年时间,数十万注册用户,STM32相关帖子数量有20多万,每天数百人互动,是一个非常好的STM32学习交流平台。

       在学习过程中,我们难免会遇到一些问题,有任何问题,大家都可以先去开源电子网搜索一下,基本上你能遇到的问题,我们论坛都有人问过了,所以可以很方便的找到一些参考解决方法。如果实在找不到,你也可以在论坛提问,每天原子哥都会在上面给大家做解答。

       不过,大家在论坛发帖的时候,建议先阅读一下提问的智慧,缕清思路,不要乱问一通,提高提问质量,提问的智慧阅读地址:www.openedv.com/thread-7245-1-1.html。


        1. 7 给初学者的建议

       对于学习STM32以及电机控制,这里我给大家提以下三点建议:

       1,准备一款合适的开发板(强烈建议配仿真器)

       任何实验,我们都需要验证,最好的验证方式就是在开发板上面实际跑起来,然后通过仿真器仿真调试,查看具体的执行过程。仿真器可以加深印象,还可以方便的查找bug,所以学习STM32以及电机控制必备:一个开发板 + 一个仿真器 + 一个驱动器 + 所学习的电机。

       另外,开发板在精不在多,学好一款,基本上就够用了。

       2,准备两本参考资料,即《STM32G4xx参考手册_V7(英文版).pdf》和《STM32G474VET6.pdf》。

       这两个手册在本章1.2节有过介绍,对于我们学习电机控制相关的STM32外设和了解STM32硬件资源非常有帮助,是学习STM32以及电机控制的必备资料,因此初学者尤其要多看这两个手册。

       3,戒骄戒躁,勤思敏行。

       学习STM32以及电机控制千万不能浮躁,更加不能骄傲,初学者学习STM32以及电机控制会遇到很多问题和难点,这个时候千万不能浮躁,不要带情绪,一定要静下心来,缕清思路,逐一攻克。

       我就曾经遇到一个问题半个月都没解决的情况,但是这半个月我尝试并掌握了很多解决问题的方法,最终解决问题的时候,其实带来的收获远远大于问题本身。所以不要遇到问题就认怂,就想问别人,问老师,先尝试自己解决一下,比如花个十天半个月去解决一个问题,我相信你也会有很多收获。

       学习我们教程的时候,要多思考,多想想为什么要这么写?有没有其他更好的办法?然后,自己去验证,去实践。这里非常重要的一点是要多实践,一定要自己动手写代码,然后再下载到开发板验证,不要只是看看视频,看看例程就算完了,要能做到举一反三,如果自己不实践,不动手写代码,是很难真正学会的。 

       最后,C语言是学习STM32的必备知识,所以如果C语言不过关的朋友,得先好好学习一下C语言基础,否则学起来会比较吃力。


请使用浏览器的分享功能分享到微信等