0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

快速入门STM32的学习经验总结

哈哈hfgfdf 来源:嵌入式学习资料 作者:嵌入式学习资料 2023-02-05 01:27 次阅读

一、前言

假如你会使用8051,会写C语言,那么STM32本身并不需要刻意地学习。

我们要考虑的是, 我可以快速用STM32实现什么?为什么使用STM32而不是8051?

是因为51的频率太低,无法满足计算需求?

是51的管脚太少,无法满足众多外设的IO?

是51的功耗太大,电池挺不住?

是51的功能太弱,而你要使用SPI、I2CADCDMA

是51的内存太小而你要存储的东西太多?

当你需要使用STM32某些功能,而51实现不了的时候, 那STM32自然不需要学习,你会直接去寻找STM32某方面的使用方法。

比如要用spi协议的网卡、要使用串口通信、要使用rtos等等...

快速上手的学习步骤

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

英文好的同学,请不要以为你很牛,可以只看英文文档。毕竟你是中国人,你最熟悉的,理解最好的还是中文。

看英文的速度还是比看中文慢一些,我们要的是最短的时间,而不是追求短时间内记住所有细节。当然,如果是一篇论文,建议看英文原版还是有好处的。

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

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

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

阅读《STM32F103xxx参考手册》,一定要注意,不需要全部阅读——没有时间的。

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

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

比如在使用AD的时候,就需要去阅读第10章ADC。其他不举例。相信每个初学者都有自己的研究方向和判断。

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

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

第二章是最关键的,希望大家熟读。

第四章开始之后,就可以根据大家的需要来阅读。实际上,后续的章节,都是描述某个模块有什么什么函数,每个函数如何使用等。

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

以上提到的这两个文档,可以从中获取大量的STM32基础知识。

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

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

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

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

如果您每天只有业余时间来学习STM32,建议根据您的具体情况安排时间。

毕竟计划时间如果安排太紧,反而收不到良好的效果,只能进入恶性循环,这是我们要避免的。

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

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

「步骤一:」环境搭建,安装完STM32学习的软件,比如J-Link、Keilfor ARM(MDK)、ISP(如果需要从串口下载的话)。

「步骤二:」搞一个开发板,挑选部分例程的HEX,比如LED灯的例程HEX文件,下载到STM32开发板中,观察运行情况。

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

「步骤三:」准备几个常用的文档,比如《STM32的用户手册》,《STM32固件库使用手册》等文档。用于平时查阅。

「步骤四:」开始查看例程的编写,看看例程是如何写的,自己可否修改下例程,达到自己想要的效果呢?

「步骤五:」RTOS的使用,是否需要试一下?

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

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

「第1步:熟悉调试软件」

对初学者来说,我们至少需要的几个软件:J-Link驱动软件、ST-Link驱动、MDK(就是原来的Keil)软件。

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

「第2步:GPIO编程」

这是第一次接触固件库的编程,一定要硬着头皮去了解固件库。建议大家尽量去用固件库。

常见的比如HAL库,LL库等等。

而不是避开固件库自己写代码——这样只能在学习中才会发生。实际的项目中,代码成百上千个,如何一个一个自己写?

使用现成稳定的轮子,才是王者之道。

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

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

操作寄存器,往寄存器里置1或者清零操作——这个步骤,固件库已经提供了专门的GPIO_SetBits函数和GPIO_ResetBits函数,我们只要去调用即可实现对IO口的置1和清零。

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

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

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

经过以上调试软件的熟悉和GPIO口的编程调试后,相信您已经对STM32有一定的了解。

至少知道如何利用STM32的固件库去写一个代码。

在这个阶段,将要接触到串口编程、TFT液晶屏驱动编程、定时器编程、串行外设接口SPI编程、存储器编程、SD卡与文件系统移植、USB读写、UCOS移植等,有精力还可以研究其他外设。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2270

    文章

    10900

    浏览量

    355935
  • 编程
    +关注

    关注

    88

    文章

    3615

    浏览量

    93721
收藏 人收藏

    评论

    相关推荐

    TVP5154EVM快速入门指南

    电子发烧友网站提供《TVP5154EVM快速入门指南.pdf》资料免费下载
    发表于 12-07 14:38 0次下载
    TVP5154EVM<b class='flag-5'>快速</b><b class='flag-5'>入门</b>指南

    TVP5146:VBI快速入门

    电子发烧友网站提供《TVP5146:VBI快速入门.pdf》资料免费下载
    发表于 12-06 15:24 0次下载
    TVP5146:VBI<b class='flag-5'>快速</b><b class='flag-5'>入门</b>

    如何快速入门HAL库编程 HAL库与裸机编程的比较

    如何快速入门HAL库编程 要快速入门HAL库编程,可以遵循以下步骤: 了解基础知识 : 掌握C语言编程基础,包括变量、数据类型、函数、指针等。 了解嵌入式系统的基本概念,如微控制器、中
    的头像 发表于 12-02 11:39 303次阅读

    Linux日志管理经验总结

    日志内容,合理的日志内容(日志锚点,内容格式,等)可以为应用服务的执行记录、问题排查提供最有力的帮助。
    的头像 发表于 10-24 17:36 212次阅读

    入门?毕设?竞赛?项目练手?STM32/嵌入式/物联网学习,有这几款开发板就够了!

    针对STM32单片机、嵌入式Linux、物联网初学者,我们精心梳理了从“入门到项目进阶”完整学习路径,并配有详细的教程、视频讲解、源代码以及丰富的实战案例资料。可广泛用于高校教学、学生毕设、个人
    的头像 发表于 10-10 16:31 323次阅读
    <b class='flag-5'>入门</b>?毕设?竞赛?项目练手?<b class='flag-5'>STM32</b>/嵌入式/物联网<b class='flag-5'>学习</b>,有这几款开发板就够了!

    TVP5160 VBI快速入门

    电子发烧友网站提供《TVP5160 VBI快速入门.pdf》资料免费下载
    发表于 09-30 11:17 0次下载
    TVP5160 VBI<b class='flag-5'>快速</b><b class='flag-5'>入门</b>

    凯迪正大对电缆安全检查知识经验总结分享

    电缆作为电力传输的重要载体,其安全稳定运行直接关系到整个电力系统的可靠性。因此,电缆的安全检查至关重要。下面给大家分享一下武汉凯迪正大电气多年电缆故障查找总结经验,我们将围绕电缆安全检查的关键点,给大家分享。
    的头像 发表于 05-27 11:33 397次阅读
    凯迪正大对电缆安全检查知识<b class='flag-5'>经验总结</b>分享

    如何快速入门FPGA

    和编程技巧。 参与FPGA相关的社区和william hill官网 ,与其他工程师交流学习经验,解决遇到的问题。 通过以上步骤,你可以逐步掌握FPGA的基础知识,并通过实践项目不断提升自己的技能。记住,持续学习和实践是
    发表于 04-28 09:06

    如何快速入门FPGA?

    和编程技巧。 参与FPGA相关的社区和william hill官网 ,与其他工程师交流学习经验,解决遇到的问题。 通过以上步骤,你可以逐步掌握FPGA的基础知识,并通过实践项目不断提升自己的技能。记住,持续学习和实践是
    发表于 04-28 08:54

    CW32快速开发入门

    CW32快速开发入门
    的头像 发表于 04-24 18:56 1963次阅读
    CW32<b class='flag-5'>快速</b>开发<b class='flag-5'>入门</b>

    基于FPGA进行DNN设计的经验总结

    DNN中应用最广泛的是CNN和RNN,CNN是一种卷积网络,在图片识别分类中用的较多,RNN可以处理时间序列的信息,比如视频识别和语音识别。
    发表于 04-07 10:23 589次阅读
    基于FPGA进行DNN设计的<b class='flag-5'>经验总结</b>

    25kW电动汽车直流快速充电桩:设计技巧、技术和经验总结

    要让设计的电动汽车快速充电桩紧凑、高效且可靠,并非易事。除了实际的转换威廉希尔官方网站 外,硬件保护技术也必不可少,需要设计人员对多种“假设”场景进行分析。方案包括使用由无源 RC 网络和阻断组件构成的缓冲器。
    的头像 发表于 03-26 19:03 7126次阅读
    25kW电动汽车直流<b class='flag-5'>快速</b>充电桩:设计技巧、技术和<b class='flag-5'>经验总结</b>

    STM32电机控制SDK v5.0入门

    电子发烧友网站提供《STM32电机控制SDK v5.0入门.pdf》资料免费下载
    发表于 03-11 09:25 10次下载

    allegro快速入门教程

    电子发烧友网站提供《allegro快速入门教程.pdf》资料免费下载
    发表于 02-29 09:32 71次下载

    盘点那些硬件+项目学习套件:STM32U5单片机开发板及入门常见问题解答

    价位分别在71~122。这样多型号STM32学习,不需要买N个STM32开发板,只需要买核心板即可,学习成本非常低; 优势3: 手把手教学,入门
    发表于 02-19 16:59