Banner
关于STM32的入门问题
- 2021-05-08 05:48 -

  正好我也有一点点经验,所以试着分享一下这个话题。我也不是什么大神,只是一名普通的工程师,以下分享仅仅是自己的一点经验及看法,仅供参考,希望能对一些初学的朋友有所帮助。老鸟略过~~

  STM32编程作为一项实操性很强的技能,所以要多实操。初学的话,我觉得书籍就暂时先不买吧,先考虑入手一块STM32开发板,然后跟着开发板的教程走。

  现在市面上还比较火的基本就只剩前4家了,从这4家中选择一家买开发板。正好这4家的教程我都基本上都有看过一遍,下面简单介绍一下它们各自的特点:

  教程对初学者比较友好。51转过来的,觉得自己基础不太好的朋友可以选这个教程,我以前入门也是看了原子哥的视频入的门。

  有个缺点就是:代码编码风格不是太好。我现在比较少看他们的代码,因为看起来不舒服~

  野火的教程非常好,适合反反复复地读,STM32的教程我看得最多的就是野火的了。我觉得无论现在你在用什么教程,最终都有必要再看一下野火的教程。

  野火的教程很多知识点剖析得很透彻,真所谓零死角。火哥书里有这样一句话:基础不牢,地动山摇。与君共勉~

  安富莱的教程是我工作之后看得比较多的,教程在很详细剖析知识点的同时也在教我们学习的方法。

  其实我第一次接触STM32用的是安富莱的教程,但那个时候看安富莱的代码令我很难受,当时不明白为什么那些变量命名得那么花里胡哨,所以也就没用它们的教程。

  后来有了一点基础之后才发现我错了,这是多么规范的代码啊!安富莱教程是精品中的精品,适合进阶。

  安富莱的教程我觉得跟野火的教程基本不分上下,让我做选择我也选不出。小孩子才做选择,我们成年人可以全都学~

  但就代码风格及框架而言,安富莱的代码风格是最接近实际项目的,我第一份工作的公司的代码风格基本上就是沿用安富莱的代码风格,看得很舒服、很有条理。

  看这工程有没有觉得很舒服?除此之外,安富莱对一些调试技巧方面很用心,比如把Jlink的各种调试手段基本都挖掘出来了(可以去看它们的专题教程,很香)。

  正点原子有原子哥、野火有火哥,这些都是大佬级的人物(出书狂魔、出教程狂魔)。安富莱也有这样重量级人物:硬汉哥。

  硬汉哥对技术的追求精神很值得我们学习(技术深度+广度),特别是那一期期安富莱周报,给我们分享了很多新东西、新技术,可以去围观它们的公众号【安富莱电子】。除此之外,硬汉嵌入式论坛由他坐镇,基本上都是有问必答,并且回答很有耐心,大赞。

  这里介绍安富莱的篇幅最长,是想让大家多多认识一下安富莱,因为作为STM32教程的三巨头之一,安富莱的用户好像较前两家少很多。

  (就我了解目前做STM32教程最火、用户比较多的就只有:正点原子、野火、安富莱这三家。不知道还有没有其它我不知道的,所以这里暂且称它们为STM32教程三巨头)

  好的教程应该是要让更多的人看到的,让更多的人支持,这样这些大佬才有能量创造更多的教程来供我们学习。

  上面那张图列举了那么多教程,其实有些还是挺不错的,不知道为什么现在基本都看到了。比如:

  众想科技,当时我觉得那应该是从51转到STM32最好的入门资料,教程的编码习惯跟我们学51时的编程习惯差不多,关键是那位老师现场敲代码,一个一个字母地敲,包括STM32的固件库函数,当时MDK还没有补齐功能,当时很是佩服。

  以为它会发展得很好,但是现在基本上都没听说过众想科技了。(估计是它的教程收费的原因,基础教程免费,提高教程收费)

  普中科技特点:开发板便宜、开发板便宜、开发板便宜。实在买不起上面三家的开发板的可以选择这个。

  一百八还带屏幕,太香了。我大学时买了一块,现在还有留着。其它没啥说的,它有的上面三家都有。

  这是恩师的B站视频教程,目前有几个专栏:STM32入门编程、RT-Thread、硬件电路讲解、大杂烩。

  上面也大概分析了各个教程的特点,自己根据自己的情况(基础、money等)选其中一个板子,跟着教程走就可以了。其实,入门了之后,每一家的代码都可以用的,只需稍微修改一下。

  推荐:这几家的开发板都有面积大的、面积小的。大小就是开发板主控外围搭的一些硬件电路多不多,你能做的实验多不多。建议买个不大不小的,功能稍微多一点的,因为作为初学者,大概都比较喜欢玩一些比较直观的实验。

  买个带屏的,把自己对象的照片显示到屏上去,这够直观、可以足够激发自己的学习兴趣了吧

  当然大板子有的功能小板子也可以有,但是得用跳线连接一些模块,怕到时候是因为线接不对又不会排查,导致实验结果出不来,很容易就给劝退了~

  如果对STM32没有概念,可以先看几节视频了解了解。有大概了解之后就可以直接看书了,毕竟看视频比较花时间,而且效果不太好。

  当然有些朋友可能比较喜欢看视频,那也可以,但是要有做笔记的习惯,好记性不如烂笔头,不然你突然忘记了视频讲的某个知识,想要复习的话你就得去翻视频,很耗时间。

  我是比较喜欢看书的,可以做笔记、涂涂画画。无论如何,都要培养看书的习惯,逼自己看书,最终要进行提高,都是要回归到书本上去。

  STM32有两种编程方式,一种是用寄存器的方式,另一种是库函数的方式。对于初学者而言,可能后者较容易上手。

  学从难处学,用从易处用。学习阶段,能学多深就尽量学多深,这样基础会打得比较牢。

  不只是为了学STM32而学STM32,我们的目标是:学完STM32,换另一款芯片也能很快上手。基础有多牢固,换另一款芯片上手就有多快。

  现在STM32有好几种库函数,也有一些辅助工具如STM32CubeMX这种工具,这种是让熟手用的,新手就先暂时先别去碰这种了,因为这些工具给我们屏蔽了太多东西了,不利于我们的学习。

  下面是群友分享的网上关于STM32CubeMX与HAL的一些观点,我也比较赞同。

  虽然很多人都推荐只学库函数,但是我觉得在掌握库函数的同时也是很有必要学习一下寄存器的操作方式,因为以后有可能会遇到直接操控寄存器的情况,比如之后进行Linux驱动的学习。

  不用全都学,不然等你学完后面基本就会忘记前面。学一些基本的、通用的、常用的外设:GPIO输入输出(点灯、IM体育按键)、EXIT、TIMER、UARTI2C、SPI、ADCDAC等,当然还有其它的。

  这些用得多,先把这些给学了,相信到时候学完了你也有自己的思考了知道该学什么了。等我们入门之后,要用什么再去学什么完全来得及,关键是我们得在平时的学习过程中培养这种能力。

  学以致用。在学的过程中,可以尝试着diy一些东西、做一些小作品,实在不知道做什么的话论坛逛一逛,一堆好玩的东西。跟着别的人的教程来做,能做出来也是一种能力。

  不要以为别人的教程写得很简单,实际自己去做的时候才知道会遇到什么困难。在解决困难中成长,那才记忆深刻。

  以前我刚开始学STM32的时候忽略了很重要一点:阅读参考手册。导致很多东西都没有理解。

  所以建议:多看手册、多看手册、多看手册,很多你在看教程看不明白的知识可能可以在参考手册里找到解释。

  看到后台有一些留言51单片机的,估计正在学51的读者也不少。而本公众号应该不大会分享51相关的知识,因为我工作用不上 ,而且我现在对51单片机也不熟。

  两本书都很赞,不仅仅很详细的讲解了51单片机的知识,而且拓展了很多很有用的知识。

  写了一堆,完全是想到什么写什么,可能有点乱,还是希望可以对一些朋友有帮助。下面小结一下:

  文章出处:【微信号:mcu168,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。

  1、为何引入链表 在程序中经常面临一个问题,我们需要保存一定数量的对象,但是对象数目是不确定的,或者....

  在程序中经常面临一个问题,我们需要保存一定数量的对象,但是对象数目是不确定的,或者说是随时增加或减少....

  本章,主要向大家简要介绍我们的实验平台:ALIENTEK探索者STM32F4开发板。通过本章的学习,....

  本章,主要向大家简要介绍我们的实验平台:ALIENTEK探索者STM32F4开发板。通过本章的学习,....

  STM32从入门到精通-神舟I号详细案例一步一步板全PDF完整版2021

  STM32从入门到精通-神舟I号板全PDF完整版2021 链接:提取码...

  问题:该问题由某客户提出,发生在STM32F205VCT6 器件上。据其工程师讲述:为了实现产品的设计中使用STM32 的 USB...

  DDS工作原理是什么? 信号源系统是由哪些软件组成的? 怎样去设计一种高分辨率灵活可调的双路信号源电路? ...

  本参考手册面向应用程序开发人员。 它提供了有关的完整信息如何使用STM32L151xx,STM32L....

  该问题由某客户提出,发生在 STM32F407IGT6 器件上。据其工程师讲述:由于在其产品中,需要....

  问题:该问题由某客户提出,发生在 STM32F103VET6 器件上。据其工程师讲述:其产品中使用了 STM32,已量产。在发给其客...

  GPIO口,最简单、也是最复杂的存在,深刻理解GPIO口必然离不开此文。

  【原创文章】【重磅】在这 一芯难求 各种涨价的时代,STM32G0被委以重任...............

  由于芯片制造工艺的区别,STM32G0被委以重任,撑起一片天,据我从官方了解的情况可以得出一个结论,不管从价格上还是从性能...

  刚刚搜了一下,天猫上STM32F103ZET6封装LQFP144芯片单个价格300元。如果没记错的线

  现代的CPU基本上归为冯诺伊曼结构(也成普林斯顿结构)和哈佛结构。 冯洛伊曼结构就是我们所说的X86....

  说在前面的话一位初学单片机的小伙伴让我推荐C语言书籍,因为C语言基础比较差,想把C语言重新学一遍,再....

  TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示....

  TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示....

  所以就想着找一个便宜点的方案。无意中看到了华芯微特的一个芯片SWM32SRET6,芯片特点如下

  早期开发STM32,大部分工程师都是基于标准库进行开发,如果要换成LL库,且需要复用以前代码,该怎么....

  客户在使用STM32L4 RTC功能的时候,调试时发现日历不再更新,而通过IAR跟踪RTC相关寄存器....

  大家上午好! 今天邀请了张角老师,来为大家深入讲解单片机,视频为一个系列,本次为第九期内容,请持续关注,会...

  小弟现在在做一个关于MCU国产替代情况的调研了解,有以下问题希望各位大佬能解答: 1. 是否愿意采用国产的32位MCU比如兆易...

  很很多单片机都有自举程序,像支持STC单片机使用串口下载,这种其实也是单片机内部集成了一段自举程序。

  大联大友尚集团推出基于ST STM32 Cortex-M4(STM32F4 or L4)的码表方案

  利用STM32的图形功能和架构,TouchGFX通过创建令人惊叹的类智能手机图形用户界面加速了人机界....

  平时我们写程序,通常都会备注软件版本,那么,怎么在单片机中保存版本信息呢? 方法其实有很多,但基本原....

  不同的平台的汇编代码是不一样的,最早的汇编在50年代就发明了,比很多人的父母的年龄都大,老掉牙,不用....

  01前言 STM32片上自带FLASH和SRAM,简单讲FLASH用来存储程序的,SRAM是用来存储....

  为了像51单片机一样能够对某个管脚单独操作,引入了位带操作这样的操作机制。 如下图,位带(Bit b....

  半主机机制的作用 半主机是用于ARM目标的一种机制,可将来自STM32单片机应用程序的输入输出请求传....

  元器件特性测试仪任务要求 通过编程完成对5种以上元器件特性的测量 能够自动识别元器件 在OLED屏幕....

  本手册介绍了X-CUBE-MCSDK和X-CUBE-MCSDK-FUL STM32电机控制软件开发套....

  本手册介绍了X-CUBE-MCSDK和X-CUBE-MCSDK-FUL STM32电机控制软件开发套....

  OV2640是OmniVision公司生产的一颗1/4寸的CMOS UXGA(1632*1232)图....

  系统存储器是用于在系统boot模式启动设备的。这一块是预留给ST的。包括bootloader程序,b....

  本文档介绍了如何设置和生成电动机控制固件项目,以使位置控制功能能够使用X-CUBE-MCSDK ST....

  本手册介绍了X-CUBE-MCSDK和X-CUBE-MCSDK-FUL STM32电机控制软件开发套....

  本用户手册介绍了永磁同步电动机(PMSM)FOC软件库,这是针对STM32F103xx微控制器开发的....

  实际应用中,我们可能需要两个设备通过串口传输浮点数据: 本篇笔记为了方便演示,使用串口助手模拟其中一....

  CAN,Controller Area Network(控制器局域网络),在汽车电子、工业控制领域的....

  有时候,我们不想让程序存储在起始的位置,比如我们有一段bootloader,对应的app(应用程序)....

  今天随机分享4篇基于第一个平台的项目: “寒假在家一起练”(1) - 两个月嵌入式编程DIY示波器和....

  STM32CubeIDE乃ST官方提供的免费且功能强大的集成开发工具,令STM32Cube生态系统更....

  这里就STM32L053芯片的FLASH编程做个简单演示并做些提醒,以供有需要的人参考。

  本文主要讲述了使用GoKit和GC211(4G模块)来实现4G网络的开发。囊括模块接入、设备控制、数....

本文由:IM体育提供

Copyright © 2015-2023 上海im体育 版权所有 ICP备05013835号 网站地图

数字式振动传感器生产厂家,数字加速度传感器公司价格,高精度数据采集仪工作原理,静态应变仪参数哪家好