1,一款实用的开发板。

这个是实验的基础,有时候软件仿真通过了,在板上并不一定能跑起来,而且有个开发板在手,什么东西都可以直观的看到,效果不是仿真能比的。但开发板不宜多,多了的话连自己都不知道该学哪个了,觉得这个也还可以,那个也不错,那就这个学半天,那个学半天,结果学个四不像。倒不如从一而终,学完一个在学另外一个。

2,两本参考资料,即《STM32 参考手册》和《Cortex-M3 权威指南》。

《STM32 参考手册》是 ST 出的官方资料,有 STM32 的详细介绍,包括了 STM32 的各种寄存器定义以及功能等,是学习 STM32 的必备资料之一。而《Cortex-M3 权威指南》则是对《STM32 参考手册》的补充,后者一般认为使用 STM32 的人都对 CM3 有了较深的了解,所以Cortex-M3 的很多东西它只是一笔带过,但前者对 Cortex-M3 有非常详细的说明,这样两者搭配,你就基本上任何问题都能得到解决了。

3,掌握方法,勤学慎思。

STM32 不是妖魔鬼怪,不要畏难,STM32 的学习和普通单片机一样,基本方法就是:

a) 掌握时钟树图。

任何单片机,必定是靠时钟驱动的,时钟就是单片机的动力,STM32 也不例外,通过时钟树,我们可以知道,各种外设的时钟是怎么来的?有什么限制?从而理清思路,方便理解。

b) 多思考,多动手。

所谓熟能生巧,先要熟,才能巧。如何熟悉?这就要靠大家自己动手,多多练习了,光看/说,是没什么太多用的,很多人问我,STM32 这么多寄存器,如何记得啊?回答是:不需要全部记住。我至今也就只记得 STM32 的 IO 口控制这几个寄存器,因为有规律可循,好记。其他的一概不记得。学习 STM32,不是应试教育,不需要考试,不需要你倒背如流。你只需要知道这些寄存器,在哪个地方,用到的时候,可以迅速查找到,就可以了。完全是可以翻书,可以查资料的,可以抄袭的,不需要死记硬背。掌握学习的方法,远比掌握学习的内容重要的多。

熟悉了之后,就应该进一步思考,也就是所谓的巧了。

跟着例程走,无非就是熟悉 STM32 的过程,只有进一步思考,才能更好的掌握 STM32,也即所谓的举一反三。例程是死的,人是活的,所以,可以在例程的基础上,自由发挥,实现更多的其他功能,并总结规律,为以后的学习/使用打下坚实的基础,如此,方能信手拈来。

最最重要的是刚开始一定要将不懂的或者一知半解的点都研究透彻,保证基础知识都扎实,后续的学习才能更好上手,而不至于越到后面,感觉越来越难,开始打退堂鼓。

在应用的时候,先去了解电子元器件的电气特性,电路原理图,然后根据原理画出电路连接图,这样的顺序去学习嵌入式,才能更好的掌握。

如果仅仅只会驱动外部设备,不懂外部设备的运行原理,去编写代码的时候没有原理去依靠,编写代码可能会长时间卡在调试阶段,还有就是如果要去优化,在嵌入式方向的优化,不仅仅只有算法这一方面,最好的优化其实是是根据设备的电气特性以及工作原理去做驱动上的优化。

为大家分享一些学习资料

(stm32 USART串口应用)

http://www.makeru.com.cn/live/1392_1164.html?s=45051

从单片机到嵌入式linux我们需要做什么

http://www.makeru.com.cn/live/5413_1994.html?s=45051

PWM脉宽调制技术

http://www.makeru.com.cn/live/4034_2146.html?s=45051

基于STM32讲解串口操作

http://www.makeru.com.cn/live/1758_490.html?s=45051

通过Z-stack协议栈实现串口透传

http://www.makeru.com.cn/live/1758_330.html?s=45051

(stm32直流电机驱动)

http://www.makeru.com.cn/live/1392_1218.html?s=45051

STM32单片机的学习方法(方法大体适用所有开发版入门)的更多相关文章

  1. stm32单片机利用ntc热敏电阻温度转换公式C语言版

    首先 我们需要明确电路结构 热敏电阻的原理就不再赘述,本文不凑字数,只讲干货 必须要知道的就是串联电阻R9程序中定义为resistanceInSeries ,精度越高越好 为了方便,先在程序中定义好你 ...

  2. 使用 VSCode 开发调试 STM32 单片机尝试

    使用 VSCode 开发调试 STM32 单片机尝试 本文记录基于 Windows + DAP-Link 开发 STM32F103C8T6 的实践过程,其他操作系统或芯片应该也只是大同小异的问题. 注 ...

  3. 龙邱STM32单片机用J-LINK下载无法被识别的解决方法

    问题如下: 按照正常步骤使用keil5给龙邱的stm32下载程序,SWD下载方式提示no cortex-m sw device found,JTAG方式提示no cortex-m device fou ...

  4. 关于STM32单片机的IAP实现

    基于STM32F103单片机的IAP实现(虽然该篇文章不会详细写出实现细节,但是会从一个全局的角度讲述,实际的实现细节只需根据datasheet即可完成). 一.基础概念 什么是IAP?IAP即在应用 ...

  5. 单片机入门学习笔记8:STM32单片机使用

    经常会在某个QQ群里看见某人的QQ昵称的名字"不会32绝不改名",其实无论会不会,之后名称都改了. STM32单片机在我看来就三部分组成:各部分的初始化,中断的使用,Main函数内 ...

  6. STM32单片机的软件重启和远程重启

    STM32单片机可以通过以下代码实现重启(core_cm3.h).同时如果利用AT命令进行无线通讯,服务器后台和客户端之间用MODBUS通讯即4G+MODBUS RTU,可以利用F05写单个线圈的方法 ...

  7. STM32单片机应用与全案例实践 /stm32自学笔记 第二版 pdf

    STM32单片机应用与全案例实践pdf https://pan.baidu.com/s/16WrivuLcHvLTwS__Zcwl6Q 4rj3 stm32自学笔记 第二版 pdf https://p ...

  8. Linux下开发STM32单片机

    一开始学习51单片机就是用的MDK这个IDE软件,IDE软件虽然看起来直观好像更加容易入门(因为有界面看起来很形象),但是实际上IDE却是向我们这些入门人员隐藏了背后真实存在的过程,让我们以为编译就是 ...

  9. 小白转行入门STM32----手机蓝牙控制STM32单片机点亮LED

    @ 目录 引言导读 一.通信基础知识 1.1 通信到底传输的是什么? 1.2 比特率和波特率 习题 1.1 双工和单工 习题 1.2 串行和并行 1.3 异同通信和同步通信 习题 二.连接STM32单 ...

随机推荐

  1. k8s架构与组件详解

    没有那么多花里胡哨,直接进行一个K8s架构与组件的学习. 一.K8s架构 k8s系统在设计是遵循c-s架构的,也就是我们图中apiserver与其余组件的交互.在生产中通常会有多个Master以实现K ...

  2. 完美数java

    完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.如果一个数恰好等于它的因子之和,则称该数为&q ...

  3. Lombok中@Data注解的坑

    开发遇到@Data注解的大坑 如果使用@Data注解,会默认重写hashcode和equals方法 那会遇到什么问题呢? 比如说: @Data public class DataTest { priv ...

  4. PHP中的垃圾回收相关函数

    之前我们已经学习过 PHP 中的引用计数以及垃圾回收机制的概念.这些内容非常偏理论,也是非常常见的面试内容.而今天介绍的则是具体的关于垃圾回收的一些功能函数.关于之前的两篇介绍文章,大家可以到文章底部 ...

  5. Linux下Nodejs安装(完整详细)转

    Linux下安装有两种方式,一个是下载源码make编译安装. 另外一种是比较推荐的,直接下载编译好的二进制,官方比较推荐后者. //Linux 64bit version wget --no-chec ...

  6. Jmeter系列(17)- 常用断言之JSON断言

    模块分析 Assert JSON Path exists:需要断言的 JSON 表达式 Additionally assert value:如果要根据值去断言,请勾选 Match as regular ...

  7. jquery 设置django全局token

    通过JQUEYR中的ajaxSetup,来设置django中的token,即不需要再每次都去引用: 第一步: 先django中的html中设置 {%  csrf_token %} 第二步: 新一个js ...

  8. pyqt5读取文本框内容,输出到日志框(QTextBrowser)

    import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QAction,QLabel,QLineEdit,QPushButt ...

  9. 数值计算:粒子群优化算法(PSO)

    PSO 最近需要用上一点最优化相关的理论,特地去查了些PSO算法相关资料,在此记录下学习笔记,附上程序代码.基础知识参考知乎大佬文章,写得很棒! 传送门 背景 起源:1995年,受到鸟群觅食行为的规律 ...

  10. 程序员微机课系列—我的nodejs多版本管理方法

    nodejs的多版本配置对于我来说一直都是一个较为头疼的事情.本人的开发工作会涉及electron以及前端,对于工作中使用的npm包(点名node-sqlite3和node-sass)在某些情况下,会 ...