OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 563|回复: 0

《STM32F103 精英开发指南V1.3》第一章 本书学习方法

[复制链接]

1117

主题

1128

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
4667
金钱
4667
注册时间
2019-5-8
在线时间
1224 小时
发表于 2024-5-31 17:42:48 | 显示全部楼层 |阅读模式
本帖最后由 正点原子运营 于 2024-5-30 17:58 编辑

第一章本书学习方法
1)实验平台:正点原子 精英STM32F103开发板

2) 章节摘自【正点原子】STM32F103开发指南 V1.3


4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boar ... 103_jingyingV2.html

5)正点原子官方B站:https://space.bilibili.com/394620890

6)正点原子STM32技术交流QQ群:672399978

155537c2odj87vz1z9vj6l.jpg

155537nfqovl2gg9faaol9.png

为了让大家更好的学习和使用本书,本章将给大家介绍一下本书的学习方法,包括:本书的学习顺序、编写规范、代码规范、资料查找、学习建议等内容。
本章将分为如下几个小节:
1.1 本书学习顺序
1.2 本书参考资料
1.3 本书编写规范
1.4 本书代码规范
1.5 例程资源说明
1.6 学习资料查找
1.7 给初学者的建议

1.1 本书学习顺序
为了让大家更好的学习和使用本书,我们做了以下几点考虑:
1,坚持循序渐进的思路编写,从基础到入门,从简单到复杂。
2,将知识进行分类介绍,简化学习过程,包括:基础篇、入门篇、提高篇。
3,将硬件介绍独立成一个文档(《精英V2 硬件参考手册.pdf》),本书着重介绍软件知识。
因此,大家在学习本书的时候,我们建议:先通读一遍《精英V2 硬件参考手册.pdf》,对开发板的硬件资源有个大概了解,然后从基础篇开始,再到入门篇,最后学习提高篇,循序渐进,逐一攻克。
对初学者来说,尤其要按照以上顺序学习,不要跳跃式学习,因为我们书本的知识都是一环扣一环的,如果前面的知识没学好,后面的知识学起来就会很困难。
对于已经学过STM32的朋友来说,就可以跳跃式学习了,当然如有不懂,也得翻阅前面的知识点进行巩固。

1.2 本书参考资料
本书的主要参考资料有以下两份文档:
《STM32F10xxx参考手册_V10(中文版).pdf》
《Cortex-M3权威指南》中文版(宋岩 译)
前者是ST官方针对STM32的一份通用参考资料,重点介绍STM32内部资源及使用,寄存器描述等,内容翔实,但是没有实例,也没有对Cortex-M3构架进行多少介绍,读者只能根据自己对书本的理解来编写相关代码。
后者是专门介绍Cortex-M3构架的书,有简短的实例,但没有专门针对STM32的介绍。所以,在学习STM32的时候,必须结合这份资料来看。
另外,由于STM32F103的中文版是V10版本的,而最新的STM32F103英文版参考资料已经是V20的了,所以大家在遇到一些有问题/矛盾的地方,可以参考最新的英文版参考手册:《STM32英文参考手册 V20》
这几份参考文档都在我们提供的光盘资料里面可以找到,路径:A盘à8,STM32参考资料 文件夹下可以找到。

1.3 本书编写规范
本书通过数十个例程,给大家详细介绍STM32的所有功能和外设,按难易程度以及知识结构,我们将本书分为三个篇章:基础篇、入门篇和提高篇。
基础篇,共12章,主要是一些基础知识介绍,包括开发环境搭建、新建工程、HAL库介绍、时钟树介绍、SYSTEM文件夹介绍等,这些章节在结构上没有共性,但是互相有关联,有一个集成的关系在里面,即:必须先学了前面的知识,才好学习后面的知识点。
入门篇和提高篇,共四十八章,详细介绍了STM32F103每一个外设的使用方法及驱动代码,并且还介绍了一些非常实用的程序代码(纯软件例程),如:内存管理、文件系统读写、拼音输入法、手写识别、图片解码、IAP等。这部分内容占了本书的绝大部分篇幅,而且这些章节在结构上都比较有共性,一般分为4个部分,如下:
1,外设功能介绍
2,硬件设计
3,程序设计
4,下载验证
外设功能介绍,简单介绍具体章节所要用到的外设功能、框图和寄存器等,让大家对所用外设的功能有一个基本了解,方便后面的程序设计。
硬件设计,包括具体章节的实验具体功能说明、所用到的硬件资源及原理图连接方式,从而知道要做什么?需要用到哪些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 例程资源说明
精英V2 STM32F103开发板提供的标准例程多达63个,提供:寄存器和HAL库两个版本的代码(本手册以HAL库版本例程做为介绍,我们不再提供寄存器版本文档教程,寄存器版本例程仅供大家参考学习)。我们提供的这些例程,基本都是原创,拥有非常详细的注释,代码风格统一、循序渐进,非常适合初学者入门。
精英开发板的例程列表如表1.5.1所示:
QQ截图20240530175714.png
QQ截图20240530175728.png
表1.5.1 精英开发板例程表
从上表可以看出,正点原子精英开发板的例程基本上涵盖了STM32F103ZET6芯片的所有内部资源,并且外扩展了很多有价值的例程,比如:FLASH模拟EEPROM实验、USMART调试实验、UCOSII实验、内存管理实验、IAP实验、拼音输入法实验、手写识别实验、综合实验等。
而且从上表可以看出,例程安排是循序渐进的,首先从最基础的跑马灯开始,然后一步步深入,从简单到复杂,有利于大家的学习和掌握。所以,正点原子精英STM32F103开发板是非常适合初学者的。当然,对于想深入了解STM32F103内部资源的朋友,正点原子战舰开发板也绝对是一个不错的选择。

1.6 学习资料查找
学习资料包括三个方面:
1,ST官方的学习资料
ST官方资料有两个网址:www.stmcu.org.cnwww.st.com
www.stmcu.org.cn 是ST中文社区,里面的资料全部由ST中国区的人负责更新和整理,包含了所有ST公司的MCU资料,比如:STM32F1最新的芯片文档(参考手册、数据手册、勘误手册、编程手册等)、软件资源(固件库、配置工具、PC软件等)、硬件资源(各种官方评估板)等,如图1.6.1所示:                                 
image001.png
图1.6.1 STM32F1相关资料(stmcu.org)
www.st.com 是ST官网,ST最新最全的资料,一般都是放在该网站,ST中文社区的资料,一般都是从ST官网搬过来的,所以如果你想找最新的STM32官方资料,应该在ST官网找。对于初学者,一般从ST中文社区获取ST官方资料就可以了。ST官网的STM32F103资料页面如图1.6.2所示(注意:默认是英文语言,需要在网页右上角设置成中文):
image003.png
图1.6.2 STM32F103官网资料(st.com)
①    STM32F103的硬件相关资源,在:产品à微控制器àSTM32 ARM Cortex 32位微控制器àSTM32主流MCUàSTM32F1系列àSTM32F103à资源 路径下面可以找到。
②    STM32F103的软件相关资源,在:工具与软件à嵌入式软件à微控制器软件àSTM32微控制器软件 路径下面可以找到。
2,正点原子的学习资料
正点原子给大家提供的学习资料,都放在正点原子文档中心,大家可以在文档中心下载所有正点原子最新最全的学习资料,文档中心地址:www.openedv.com/docs/index.html,如图1.6.3所示:     
image005.png
图1.6.3 正点原子文档中心
在文档中心下面,我们可以找到正点原子所有开发板、模块、产品等的详细资料下载地址。
3,正点原子论坛
正点原子论坛,即开源电子网:www.openedv.com/forum.php,该论坛从2010年成立至今,已有10年时间,数十万注册用户,STM32相关帖子数量有20多万,每天数百人互动,是一个非常好的STM32学习交流平台。
在学习过程中,我们难免会遇到一些问题,有任何问题,大家都可以先去开源电子网搜索一下,基本上你能遇到的问题,我们论坛都有人问过了,所以可以很方便的找到一些参考解决方法。如果实在找不到,你也可以在论坛提问,每天原子哥都会在上面给大家做解答。
不过,大家在论坛发帖的时候,建议先阅读一下提问的智慧,缕清思路,不要乱问一通,提高提问质量,提问的智慧阅读地址:www.openedv.com/thread-7245-1-1.html

1.7 给初学者的建议
对于学习STM32,这里我给大家提以下三点建议:
1,准备一款合适的开发板(强烈建议配仿真器)
任何实验,我们都需要验证,最好的验证方式就是在开发板上面实际跑起来,然后通过仿真器仿真调试,查看具体的执行过程。仿真调试可以加深印象,还可以方便的查找bug,所以学习STM32必备:一个开发板 + 一个仿真器。
另外,开发板在精不在多,学好一款,基本上就够用了。
2,两本参考资料,即《STM32F10xxx参考手册_V10(中文版).pdf》和《Cortex-M3权威指南》。
这两个手册在本章1.2节有过介绍,对于我们学习STM32和了解Cortex M3内核非常有帮助,是学习STM32的必备资料,因此初学者尤其要多看这两个手册。
这里建议大家,要多了解一些底层的东西(可结合这两个手册,看看寄存器版本的例程),不要只会使用库,否则,一旦遇到问题,或者换个芯片,就不知道怎么办了。
3,戒骄戒躁,勤思敏行。
学习STM32千万不能浮躁,更加不能骄傲,初学者学习STM32会遇到很多问题和难点,这个时候千万不能浮躁,不要带情绪,一定要静下心来,缕清思路,逐一攻克。
我就曾经遇到一个问题半个月都没解决的情况,但是这半个月我尝试并掌握了很多解决问题的方法,最终解决问题的时候,其实带来的收获远远大于问题本身。所以不要遇到问题就认怂,就想问别人,问老师,先尝试自己解决一下,比如花个十天半个月去解决一个问题,我相信你也会有很多收获。
学习我们教程的时候,要多思考,多想想为什么要这么写?有没有其他更好的办法?然后,自己去验证,去实践。这里非常重要的一点是要多实践,一定要自己动手写代码,然后再下载到开发板验证,不要只是看看视频,看看例程就算完了,要能做到举一反三,如果自己不实践,不动手写代码,是很难真正学会的。
最后,C语言是学习STM32的必备知识,所以如果C语言不过关的朋友,得先好好学习一下C语言基础,否则学起来会比较吃力。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 19:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表