stm32零基础入门,应学习那些知识

发布者:诗意世界最新更新时间:2024-12-20 来源: jianshu关键字:stm32  外设 手机看文章 扫描二维码
随时随地手机看文章

首先我们先看看与STM32相关的文档

  我们假定大家已经对STM32的书籍或者文档有一定的理解。如不理解,请立即阅读STM32的文档,以获取最基本的知识点。

  如果你手上拥有ST官方主推的STM32神舟系列的板子,那么光盘都会配好这些文档,STM32的学习与ARM9的学习有一个很大的区别。ARM9的学习

  一般是需要购买书籍的。比如三星的S3C2440,官方的文档都是英文的,大部分工程师只能去看国内出版的书籍。英文好的同学,请不要以为

  你很牛,可以只看英文文档。毕竟你是中国人,你最熟悉的,理解最好的还是中文。看英文的速度还是比看中文慢一些,我们要的是最短的时

  间,而不是追求短时间内记住所有细节。当然,如果是一篇论文,建议看英文原版还是有好处的。

  STM32处理器进入国内市场时候,ST官方(或者第三方)的推广工作做的非常好。翻译了大量的英文文档,迎合了国内的

  很多工程师的思维。神舟系列的开发板就是迎合这种中国化,本土化,方便学习和使用;所以现在大部分STM32F103xxx的用户datasheet都有

  中文版,例子也很齐全,因此可以不用去购买书籍,看电子档即可。

  学习的时候,关注两个比较重要的文档:《STM32F103xxx参考手册》,《STM32固件库使用手册》。

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

  阅读《STM32F103xxx参考手册》,一定要注意,不需要全部阅读——没有时间的。建议选读,但是前几章必读。存储器

  和总线架构、电源控制、备份寄存器、复位和时钟控制,通用和复用功能I/O,中断和时间等等前几章一定要花时间阅读。

  后面章节,讲述的是具体的功能模块设计。如果我们用到哪个模块,就可以去阅读哪个模块。比如在使用AD的时候,就

  需要去阅读第10章ADC。其他不举例。相信每个初学者都有自己的研究方向和判断。

  阅读《STM32固件库使用手册》,主要是为了简化编程。STM32给我们提供了一个非常好的固件函数库,我们只要去调用

  即可。当然,我们也可以不去碰这些固件库——传说使用它会使得代码效率变低,是有道理的。网络上也出现了很多网友自己写的代码,没有

  使用带固件库函数。如何取舍,在于您的选择。

  这里我主要强调的是,阅读《STM32固件库使用手册》的时候,前面几章也是必须阅读的。比如第一章文档和库规范中

  的命名规则,编码规则,这些都是需要注意的。第二章是最关键的,希望大家熟读。第二章描述了固件库的架构,我们如何去使用固件库的步

  骤等。有了第二章的基础,我们就可以借助固件库写出自己的代码了。第四章开始之后,就可以根据大家的需要来阅读。实际上,后续的章节

  ,都是描述某个模块有什么什么函数,每个函数如何使用等。

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

  。

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

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

  (1)这里所谓的“入门”,指的是能理解并掌握一些常用的STM32外设,真正想掌握一款处理器,两周根本说明不了什么问题。只能说,你已

  经有所了解了。但是,这对我们初学者来说已经足够了。

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

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

  如果您每天只有业余时间来学习STM32,建议根据您的具体情况安排时间。毕竟计划时间如果安排太紧,反而收不到良好的效果

  ,只能进入恶性循环,这是我们要避免的。

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

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

  步骤一,安装完STM32学习的软件,比如J-Link、Keil for ARM(MDK)、ISP(如果需要从串口下载的话)。这些软件安装的详细步骤,可以

  参考我们推出的相应教程进行。

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

  我们推出的相应的教程进行。

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

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

  册目录中均可找到。

  步骤四,开始查看例程的编写,看看例程是如何写的,自己可否修改下例程,达到自己想要的效果呢?芯达STM32开发板的光盘中为大家提供

  了丰富的例程代码,可以参考。您一定可以修改出更精彩的例程!

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

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

  再次强调,以上只是一个学习STM32的思路,供大家参考。下面列出了前面关键的步骤,希望大家能尽快入门。后续的每个模块

  的编程,请参考神舟I号(103RBT),神舟II号(103vct),神舟III号(103zet),神舟IV号(103vct)中任何一款的入门手册。

  第1步:熟悉调试软件

  对初学者来说,我们至少需要安装两个软件:J-Link驱动软件、MDK(就是原来的Keil)软件。这两个软件在安装软件的过程可以查

  看神舟开发板用户手册,这里不再重复,大家可以参考我们推出的教程《如何安装J-Link驱动软件》以及《如何安装MDK(Keil)软件》。如何

  验证自己已经熟悉调试软件的操作了呢?很简单,神舟STM32开发板光盘里附带了很多HEX格式的文件,可以选择一些HEX文件,来观察运行结

  果。比如LED灯的例程HEX文件,下载到神舟STM32开发板中,观察两个LED灯的闪烁情况。灯在闪烁,就说明你刚才的操作已经把HEX文件烧写

  到闪存中了。

  该步骤要达到的目标:熟悉调试软件,如烧写HEX出现问题,可简单判别问题所在,并独立解决。

  第2步:GPIO编程

  这是第一次接触固件库的编程,一定要硬着头皮去了解固件库。建议大家尽量去用固件库。而不是避开固件库自己写代码—

  —这样只能在学习中才会发生。实际的项目中,代码成百上千个,如何一个一个自己写?调用固件库中的函数来完成,才是王者之道。

  GPIO本身的编程实际上很简单:

  1、设置GPIO口的引脚为输入或者输出模式。我们在进行点灯代码的时候,一般设置为推挽输出模式。

  2、操作寄存器,往寄存器里置1或者清零操作——这个步骤,固件库已经提供了专门的GPIO_SetBits函数和GPIO_ResetBits函数,我们只要去

  调用即可实现对IO口的置1和清零。

  3、实现多种花样的LED闪动,使得自己熟悉GPIO的编程过程。

  该步骤要达到的目标:熟悉调试软件,如烧写HEX出现问题,可简单判别问题所在,并独立解决。

  第3步:开始全新的STM32深入研究

  经过以上调试软件的熟悉和GPIO口的编程调试后,相信您已经对STM32有一定的了解。至少知道如何利用STM32的固件库去写一

  个代码。OK,下面我们将开始全新的STM32深入研究。在这个阶段,将要接触到串口编程、TFT液晶屏驱动编程、定时器编程、串行外设接口

  SPI编程、存储器编程、SD卡与文件系统移植、USB读写、UCOS移植等,有精力还可以研究其他外设。


关键字:stm32  外设 引用地址:stm32零基础入门,应学习那些知识

上一篇:stm32学习笔记之GPIO功能框图分析
下一篇:《嵌入式-STM32开发指南》第一部分 入门篇 - 第2章 硬件资源简介

推荐阅读最新更新时间:2026-03-22 10:39

零基础学习STM32入门学习路线
  可以说就目前的市场需求来看,stm32在单片机领域已经拥有了绝对的地位,51什么的已经过时了也只能拿来打基础了,最后依然会转到stm32来,也正是因为这样stm32的学习者越来越多,其中不难发现绝大部分的stm32的学习者是在入门阶段的,所以今天我们就来聊聊stm32的入门学习路线。   先来看个图,相信会有所了解。   首先学习stm32 不管是C语言还是汇编肯定跑不了的所以C语言一样要打好基础,尤其是C语言中的指针,结构体,循环 等等一些最基础的知识你要能够熟练应用,要不然对于从事stm32开发的难度是非常大的。   针对C语言我给大家推荐一个视频资料虽然是某某机构录的资料不过讲的倒是很详细值得一看   C语言入门视
[单片机]
朱老师出新书了!!《ROS机器人编程零基础入门
如题!朱老师出新书了! 《ROS机器人编程零基础入门和实战》 作者:刘伏志(冰达智能创始人) 朱有鹏   内容简介: 本书是针对ROS(机器人操作系统)初学者的入门教程,内容聚焦于ROS的使用和开发。以Ubuntu操作系统安装和使用为起点,依次介绍了ROS安装、实体/仿真机器人搭建、机器视觉、SLAM建图、导航、多机器人系统等知识,最终引导读者独立完成机器人应用开发的任务。本书中的实验环境和代码基于ROS的Noetic版本。 本书为读者提供了全部案例源代码和学习资料,读者可以直接扫描二维码下载。 本书适合ROS用户及其编程开发人员使用,也可以作为高等学校或培训学校相关专业的参考教材。 章节目录介绍:   第 1
[机器人]
单片机编程-如何快速零基础入门51单片机(一)
要学习单片机,首先我们了解一些计算机的基本概念和基础操作,然后了解电路及其元器件的基本理论,为我们学习更高级的单片机入门IT和信息技术行业打下一定的基础。 本次我们先学习普中51单片机开发板,这块开发板能在淘宝上买到,而且这种板子也算是比较便宜的了,大概十几块钱,先声明我们和淘宝卖板子的店家没有任何关系,只是告诉大家购买的地方。 华维单片机编程:免费领!单片机入门到高级开挂学习路径(附教程+工具)37 赞同 · 8 评论文章 然后我们还一台需要Windows电脑,XP win7.8.10都是可以的操作都是大同小异的,但是特别说明下就是苹果的电脑好像不行,因为我们接下来使用的这个keil5软件没有苹果的版本,如果你的电
[单片机]
单片机编程-如何快速<font color='red'>零基础</font>到<font color='red'>入门</font>51单片机(一)
STM32外设开发中5个常见陷阱与规避方法
STM32作为嵌入式开发领域的热门微控制器,功能丰富,几乎能胜任所有常见控制任务,诸如GPIO、定时器、通信接口等外设一应俱全。然而,正因其强大的功能,开发中遭遇陷阱的几率也相应增加,不少初学者甚至经验丰富的开发者常在外设配置上耗费大量时间,调试许久仍难以解决问题。本文总结了5个STM32外设使用中最易出错的技巧,助你规避常见误区,提升开发效率。 1. GPIO 配置别忘了上拉/下拉 很多初学者在读取按键、外部或中断输入时,会发现输入状态总是不稳定,甚至出现抖动或误触发。这通常是因为 GPIO 输入口浮空造成的。 常见坑: 输入引脚未配置上拉/下拉,导致状态随机波动。 上拉/下拉和外部电路冲突,影响可靠性。
[嵌入式]
STM32外设DAC实战指南:使用DMA输出正弦波
一,方法思路 DAC 的一个常见应用是产生任意波形,比如平滑的正弦波。如果让 CPU 频繁计算正弦值并手动更新 DAC 输出,会非常耗费 CPU 资源且难以保证输出频率的精确和稳定。这时,再次请出我们的老朋友:定时器 和 DMA。 思路与 ADC 的定时器触发采样类似,但方向相反: 1,生成波形查找表 (Lookup Table – LUT): 在内存中预先计算并存储一个完整周期的正弦波对应的离散数字值(例如 100 个点),形成一个数组。 2,定时器作为 节拍器 : 配置一个定时器(如 TIM6 或 TIM7,它们通常有连接到 DAC 的触发输出)以固定的频率产生触发信号 (TRGO)。这个频率决定了输出正弦波的频率。 3,
[单片机]
<font color='red'>STM32</font><font color='red'>外设</font>DAC实战指南:使用DMA输出正弦波
STM32外设AD定时器触发DMA读取模板详解
一,方法思路 前面两种方法各有优劣。轮询法效率低,DMA+定时处理法数据处理不够实时。当我们需要以较为固定的频率进行 ADC 采样,并在采集完一批数据块后进行集中处理时,可以结合定时器、DMA 和中断。 这种方法的思路是: 定时器 (Timer) 作为 启动信号 (可选,或由软件触发): 可以配置一个定时器以固定频率产生触发信号(TRGO),启动 ADC 转换序列。或者,转换序列由软件直接启动。ADC 配置为外部触发模式(如果使用定时器)或软件触发。 DMA “搬运工”: 配置 DMA 通道,在每次 ADC 转换完成后(或根据触发信号),自动将结果从 ADC 数据寄存器搬运到内存缓冲区 (DMA Buffer)。DMA 通
[单片机]
<font color='red'>STM32</font><font color='red'>外设</font>AD定时器触发DMA读取模板详解
STM32标准外设库SPL转换成 Cube LL
今天分享几点内容: 1.介绍ST推出的三种库; 2.直接操作寄存器及三种ST库的代码性能对比; 3.STM32CubeMX直接生成Cube LL库函数的方法; 4.STM32标准外设库SPL转换成Cube LL的方法; 1介绍ST推出的三种库 1.标准外设库:Standard Peripheral Libraries,简写SPL. 2.Cube硬件抽象层库:STM32Cube Hardware Abstraction Layer,简写Cube HAL. 3.Cube底层库:STM32Cube Low-Layer,简写Cube LL. 开发STM32常见的除了直接读写(操作)寄存器之外,就是使用ST推出的库函数进行开发。 这三种库中
[单片机]
<font color='red'>STM32</font>标准<font color='red'>外设</font>库SPL转换成 Cube LL
STM32基于标准外设库的外部中断配置
本文介绍了STM32基于标准外设库的外部中断配置,以及基于参考手册如何更加寄存器配置外部中断 2 STM32的外部中断 下图来自《STM32参考手册》,从整个架构图可以知道,外部中断的功能可以配置六个寄存器; 中断屏蔽寄存器(EXTI_IMR) 事件屏蔽寄存器(EXTI_EMR) 上升沿触发选择寄存器(EXTI_RTSR) 下降沿触发选择寄存器(EXTI_FTSR) 软件中断事件寄存器(EXTI_SWIER) 挂起寄存器(EXTI_PR) EXTI支持配置20个中断和事件屏蔽位; GPIO端口以下图的方式连接到16个外部中断/事件线上;EXTI_Line0 — EXTI_Line15; EXTI_Line16 连接到PVD
[单片机]
<font color='red'>STM32</font>基于标准<font color='red'>外设</font>库的外部中断配置
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved