• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32的学习方法

s7ud 2017-04-05 浏览量:775
STM32的学习方法
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 首先我们先看看与STM32相关的文档

    我们假定大家已经对STM32的书籍或者文档有一定的理解。如不理解,请立即阅读STM32的文档,以获取最基本的知识点。如果你手上拥有ST官方主推的STM32神舟系列的板子,那么光盘都会配好这些文档,STM32的学习与ARM9的学习有一个很大的区别。ARM9的学习一般是需要购买书籍的。比如三星的S3C2440,官方的文档都是英文的,大部分工程师只能去看国内出版的书籍。英文好的同学,请不要以为你很牛,可以只看英文文档。毕竟你是中国人,你最熟悉的,理解最好的还是中文。看英文的速度还是比看中文慢一些,我们要的是最短的时间,而不是追求短时间内记住所有细节。当然,如果是一篇论文,建议看英文原版还是有好处的。

     STM32处理器进入国内市场时候,ST官方(或者第三方)的推广工作做的非常好。翻译了大量的英文文档,迎合了国内的很多工程师的思维。神舟系列的开发板就是迎合这种中国化,本土化,方便学习和使用;所以现在大部分STM32F103xxx的用户datasheet都有中文版,例子也很齐全,因此可以不用去购买书籍,看电子档即可。

    学习的时候,关注两个比较重要的文档:《STM32F103xxx参考手册》,《STM32固件库使用手册》。ST官方的所有中英文文档,在ST的中国大陆区网站可以下载到:

    http://www.stmicroelectronics.com.cn/stonline/mcu/MCU_Pages.htm

    该网址,是针对有充足的时间、精力的同学,建议去下载需要查阅的文档,以获取更多信息。

    阅读《STM32F103xxx参考手册》,一定要注意,不需要全部阅读——没有时间的。建议选读,但是前几章必读。存储器和总线架构、电源控制、备份寄存器、复位和时钟控制,通用和复用功能I/O,中断和时间等等前几章一定要花时间阅读。

    后面章节,讲述的是具体的功能模块设计。如果我们用到哪个模块,就可以去阅读哪个模块。比如在使用AD的时候,就需要去阅读第10ADC。其他不举例。相信每个初学者都有自己的研究方向和判断。

    阅读《STM32固件库使用手册》,主要是为了简化编程。STM32给我们提供了一个非常好的固件函数库,我们只要去调用即可。当然,我们也可以不去碰这些固件库——传说使用它会使得代码效率变低,是有道理的。网络上也出现了很多网友自己写的代码,没有使用带固件库函数。如何取舍,在于您的选择。

    这里我主要强调的是,阅读《STM32固件库使用手册》的时候,前面几章也是必须阅读的。比如第一章文档和库规范中的命名规则,编码规则,这些都是需要注意的。第二章是最关键的,希望大家熟读。第二章描述了固件库的架构,我们如何去使用固件库的步骤等。有了第二章的基础,我们就可以借助固件库写出自己的代码了。第四章开始之后,就可以根据大家的需要来阅读。实际上,后续的章节,都是描述某个模块有什么什么函数,每个函数如何使用等。

    关于后面的章节,建议对GPIO库函数、中断部分库函数、复位和时钟设置的库函数要比较熟悉,因为平时经常会用到。

    以上提到的这两个文档,已经足够您看的了,呵呵。希望您能从中获取大量的STM32基础知识。       

    设定一个不错的两周入门计划

    1)这里所谓的“入门”,指的是能理解并掌握一些常用的STM32外设,真正想掌握一款处理器,两周根本说明不了什么问题。只能说,你已经有所了解了。但是,这对我们初学者来说已经足够了。

    2)这里所谓的“两周”,根据每个人的时间安排不同而不同。

    如果您每天有充足的时间学习,那么可以规定自己尽快地能独立地进行简单的STM32开发。

    如果您每天只有业余时间来学习STM32,建议根据您的具体情况安排时间。毕竟计划时间如果安排太紧,反而收不到良好的效果,只能进入恶性循环,这是我们要避免的。

    但是建议,不管您有无充足的时间,都必须给自己做一个计划!!

    我这里列出一个思路,仅供参考。

    步骤一,安装完STM32学习的软件,比如J-LinkKeil for ARMMDK)、ISP(如果需要从串口下载的话)。这些软件安装的详细步骤,可以参考我们推出的相应教程进行。

    步骤二,挑选部分例程的HEX,比如LED灯的例程HEX文件,下载到芯达STM32开发板中,观察两个LED灯的闪烁情况。这部分的操作,可以参考我们推出的相应的教程进行。

    实际上,以上两个步骤,是为了熟悉要使用的工具软件而已。属于找感觉的阶段。其实我们还没开始STM32的学习呢!

    步骤三,准备几个常用的文档,比如《STM32的用户手册》,《STM32固件库使用手册》等文档。用于平时查阅。这些文档,在光盘中的芯片手册目录中均可找到。

    步骤四,开始查看例程的编写,看看例程是如何写的,自己可否修改下例程,达到自己想要的效果呢?芯达STM32开发板的光盘中为大家提供了丰富的例程代码,可以参考。您一定可以修改出更精彩的例程!

    步骤五Ucos-II的移植,是否需要试一下?

    恭喜你,至此,你已经可以自如进行独立的开发了。最后一步,给自己一个目标(项目),把它实现出来!

    再次强调,以上只是一个学习STM32的思路,供大家参考。

    • 发布于 2017-04-05
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • 找个开发板,最小系统板也行。

    先跑例程。再自己写。

    要有C语言与硬件的一些基础的。

    再补充...

    https://wenku.baidu.com/view/49b32045e518964bcf847c5c.html

    • 发布于2017-04-05
    • 举报
    • 评论 0
    • 1
    • 0

  • 熟悉寄存器或库->实现各种外设的功能->操作系统。
    • 发布于2017-04-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 1.弄个开发板

    2.跑通例程

    3. 在基础上修改例程看效果

    4.综合几个单元实现复杂功能

    5.加小型os

    6.成为大牛,迎娶白富美

    • 发布于2017-04-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 建议,入手一块ST公司的Nucleo开发板或者DISCO开发板

    这种开发板的好处:

    1、质量过关,基本上不会出现硬件上面的故障

    2、引出MCU所有接口,方便接入各种模块

    3、所有的文件包括原理图全部开源,而且提供丰富的例程

    然后Nucleo开发板的功能比较少,需要额外花钱去买相关模块,基本上Arduino模块都能用。DISCO自身就由很多功能,但是价格大概比同MCU的Nucleo贵50%左右

    软件方面,只要学会用Keil MDK-ARM和STM32Cube MX就行

    Keil MDK-ARM是ARM公司推荐的开发工具,STM32Cube MX专门用来配置STM32的底层代码


    • 发布于2017-04-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以買正點原子的開發板,我覺得對您應該還蠻親切的

    可以先看看他們家的資料再決定是否適合自己

    http://openedv.com/thread-13912-1-1.html

    建議要您自行看過才是真的,不一定每種都適合自己

    以上供參考

    • 发布于2017-04-06
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32的学习方法