总结大佬经验,如何学习STM32?(入门、进阶)

2023-05-16

大佬经验
一、想快速入门进阶,面向工作时
先把工作中需要的东西学会,一项一项的来,比如先把GPIO弄清楚,怎么初始化,怎么输入输出,然后定时器、串口、ADC、DAC、DMA、SPI等等先把用得着的一个一个地做,
都弄明白了再往一块整合,从简单到复杂,硬件操控起来了也就算对这种单片机入门了吧,软件方面,不管用什么单片机,用什么编译器,区别不大初学的最好还是买个开发板,不
需要多高级的,有几个常用功能做出来,其它就容易了。--------hdxet
关于初学者是否需要弄清底层函数问题:
先玩起来再说底层函数,一般就用现成的库,绝大多数应用都没问题的,至于库里面是什么,先不管它,到了高级阶段再去看--------hdxet

二、进阶步骤
会点灯-入门;
会使用各个常见中断,能把项目做出来-熟练;
会DMA、PWM各种模式,能把项目熟练完成-精通;
会CAN,USB,RS232,RS485,SPI,I2C,运动控制,电机驱动,各种滤波算法,PID算法-非常精通。--------coleyao

三、经验分享
自己的体会,对不对不知道哈。我自己学MCU就是大学里学的51单片机,所有功能会用算是入门槛,后来学习和工作慢慢接触其他的PIC,Freescale,STM这些,慢慢发现其实
东西都是有相通的,但是一定要动手,不管是用例程还是自己写,都要带板子跑代码,过程中肯定有问题慢慢解决,才能有提高,而且现在的片子底层驱动库都有,项目用的时候就
是参考一下手册会调用,底层驱动功能正常就可以了,很少项目里面从零开始写代码了。--------Lu.Shi

四、经验分享
建议:初入STM32的学习者不用记,直接用就行了,这个玩意,实践才能进步;边学边用才是正途,关键是用,不是学。------leicai05

五、经验分享
可以自己试着完成一个功能,比如简单的流水灯,逻辑肯定自己写,涉及到stm32的比如怎么初始化、怎么配置之内的不会的可以查资料,但是一定要要有自己的思想,
完成了我觉得就算入门了。------Llinuxu

六、关于初学者是否要弄懂底层函数
初学者没必要弄懂底层函数。项目需要用到什么再去研究什么。比如你的项目只要点亮一个LED灯,那你只研究怎么配置GPIO就好了,没必要去研究什么PWM了。现在
有个神器叫STM32CubeMX,直接生成一些底层初始化代码,加上HAL库调用,哪里不会再查哪里。底层函数这玩意,你调用多了,自然会去研究怎么配置达到你要做的效果,
在项目中进击,没必要一上来就啃底层,专注你的算法才是真正有意义的事情。------oner

七、经验和观点的分享
我也有思考,如何清晰、系统地学习 STM32,建立整个 Cortex-M 知识体系,以及相应的理论支撑,并最终应用到 Cortex-M 内核 MCU。现有的教程也都没有构建这样的
知识体系,学习、成长路线,所以很多人(包括我自己在内)都会在某个阶段遇到瓶颈。到头来发现自己依旧停留在知道这个点,也会用,会面向百度编程,但一遇到问题需要
调试,需要更多的理论支撑的时候,就无从下手了。
另外,STM32 做项目的话,应该也少不了使用操作系统,所以 RTOS 还是需要学习的。RTOS 面又是比较多的,现在又有物联网操作系统的概念
(比如 RT-Thread【物联网相关的软件包非常多】,华为的 LiteOS【官方动作比较小】,阿里的 Aliosthings【WIFi 等模组支持的相对较好】)。
所以,有人能把这套内容整合出来一个学习路线和测试验证知识点,应该会非常好。-------MurphyZhao

八、经验分享(什么时候可以接触项目)(指导的很多方面)
会建立工程点灯就算入门
知道各个外设的基本特性就算基本熟练(定时器 SPI UART IIC SDIO FMC,有需要再看网络和USB) 知道怎么读取、控制外围设备(采样、显示、射频一类的),
会用现有库就算精通(RTOS/UI/存储/网络)剩下的都是工程经验,代码组织、排错、调试一类的,多做就行。
会用串口,能通过示波器看懂SPI/IIC的波形、能输出想要的波形,会输出PWM波,就可以开展项目了,另外是C语言要扎实,有一点总线知识,至少要明白
堆栈的含义,知道自己随手定义的变量处在什么section,熟悉数据的内存组织结构更好(这些最好是多做调试多看MDK的Call Stack+local窗口和Watch窗口,看看
数据对应的内存地址和组织方式,对你深入了解语言、CPU有很大好处)。
深入的逻辑、代码组织方式,需要你自己在实践中总结,看别人的源码也是比较不错的方式求快的话,不建议看视频,从PDF教程开始,配合官方的手册对照看。
一个月从0到会走路是没问题的。
关于学习方式:
视频的进度和内容不容易筛选,你只能跳着跳着看,或者1.5倍速完整拉完,跳着看容易遗漏看PDF方便反复查看仔细比对。先看设计大纲,自己理解一遍,
然后针对性地看自己不太理解的的地方,在具体技术细节上配合datasheet,全程都是干货。再自己拿板子跟着走一遍基本就OK了。--------barryxiao

九、经验分享
1.芯片只是一个底层工具,当然你只有完全了解你所使用的外设工作逻辑后才可能设计出可靠的底层系统。
2.底层熟悉后,剩下的就是项目的应用问题,算法,协议,应用逻辑等,这个就是行业属性,行业积累。
3.如果说入门,至少知道配置一个外设的完整流程,不一定每一个都要用一遍,只要你知道大概流程,用的时候知道看什么地方就入门了。------lingdianhao

十、学习心态方面(关于工作面对项目)
同意你的意见,我觉得搞技术心态很重要,就是蔑视他,不就是什么什么嘛,老子能搞定你。
如果遇到问题就是天大的事情,感觉自己不行,搞不定。这样即使解决问题了,也只是解决这样一个问题。-------梁皇山土匪

以上是我节选各位大佬的经验分享和指导。希望对像我一样STM32的初学者们有帮助。同时感谢各位大佬的分享与指导。交流学习的可以加我q2898829468

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

总结大佬经验,如何学习STM32?(入门、进阶) 的相关文章

  • JavaScript类型

    为什么有的编程规范要求用 void 0 代替 undefined xff1f 字符串有最大长度吗 xff1f 0 1 43 0 2 不是等于 0 3 么 xff1f 为什么 JavaScript 里不是这样的 xff1f ES6 新加入的
  • ubuntu 内网搭建服务器的一些配置,完美解决https、http、curl、wget、yum 无法访问的问题

    1 一些需求可能要 继承IP 网关才能连接到外网 xff0c linux 不知道在如何配置可以来看看 http proxy 61 http 192 254 1 10 8088 ftp proxy 61 http 192 254 1 10 8
  • 堆、栈、队列、各种变量(静态、动态、全局、局部)的区别和联系

    堆栈都是一种数据项按序排列的数据结构 xff0c 只能在一端 称为栈顶 top 对数据项进行插入和删除 堆 heap 堆 xff08 操作系统 xff09 xff1a 一般由程序员分配释放 xff0c 若程序员不释放 xff0c 程序结束时
  • 论文中baseline是什么意思?

    问题1 xff1a benchmark和baseline的区别 xff1f 在计算机视觉论文中benchmark和baseline的区别 问题2 xff1a 经常在论文中看见baseline但是不明白里面是在写的什么 xff1f 其实就是你
  • linux 执行命令提示无权限排查思路

    问题描述 在root用户下su到普通用户出现权限问题 root 64 hehe su zh su warning cannot change directory to home zh Permission denied su failed
  • C#应用程序界面开发进阶——高级窗体控件(2)——列表视图控件(最后一个代码不行)

    列表视图 xff08 ListView xff09 控件是Windows列表视图控件 xff0c 用于显示带图标的项的列表 创建列表视图控件 为列表视图控件添加项有以下两种方法 xff08 1 xff09 直接单击控件上方的小箭头 xff0
  • ubuntu16.04LTS更换阿里源

    sudo gedit etc apt sources list 替换 xff1a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 deb cdrom Ubuntu 16 04 LTS Xenial
  • Nginx 配置问题 server directive is not allowed here in /etc/nginx/nginx.conf:69

    前沿 今天在其他服务器上重新配置 nginx conf 文件 xff0c 配置结束启动 nginx 发现遇到了这样一个错误 xff0c 我擦 我配置文件都是从上个服务器上 复制粘贴过来的 xff0c 怎么会遇到这个问题呢 xff1f 百思不
  • labelImg ZeroDivisionError: float division by zero 问题定位和解决方案

    一 前沿 labelImg的使用和安装这里不过多讲解 xff0c 网上一堆教程 二 问题以及解决方案 2 1 问题如下 xff1a Traceback span class token punctuation span most recen
  • Linux系统下查看版本信息

    一 前沿 有时候回去查看Linux的版本信息和内核 xff0c 每次可能都需要百度一下 xff0c 今天记录一下 xff0c 方便以后自己看 二 查看Linux内核版本命令 2 1 第一种方式 显示正在运行的内核版本 1 cat proc
  • Centos7下安装 prometheus+grafana

    一 前言 1 什么是 Prometheus xff1f Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 自2012年成立以来 xff0c 许多公司和组织都采用了Prometheus xff0c 该项目拥有非
  • Linux ssh:handshake failed:EOF

    一 前沿 1 Notes xff1a 以下操作均在 京东云服务器 2 在配置好免密登陆之后 xff0c 通过ssh登陆的时候间接性的遇见 ssh handshake failed EOF 真是让人恼火 xff0c 所以给总结一下 二 解决步
  • prometheus 文件配置小技巧优化

    一 前言 很久没看过监控 xff0c 直到公司机器越来越多 xff0c 项目越来越多 xff0c prometheus yml 文件一直在增加显得很杂乱无章 xff0c 这里优化了根据项目文件来改配置文件 二 优化 1 prometheus
  • prometheus通过process-exporter监控进程并实现企业报警

    一 前沿 通过上级篇文章我们已经对 Prometheus监控服务器基础资源做了记录 xff0c 这节课主要记录一下监控服务器上的进程 二 实现步骤 Prometheus机器IPprocess exporter机器IP192 168 1 31
  • python - RSA加密

    什么是RSA xff1f 这里粘贴一些定义 RSA公开密钥密码体制 所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥 xff0c 是一种 由已知加密密钥推导出解密密钥在计算上是不可行的 密码体制 在公开密钥密码体制中 xff0c 加密
  • scrapy-设置请求头

    当我们大量使用scrapy 请求一个网站的时候我们知道scrapy默认的请求头是 xff1a 可以看到默认的请求头就是scrapy xff0c 这样就很容易导致浏览器封掉的可能 xff0c 这个时候我们就需要给请求加一个请求头来模拟浏览器
  • Android Studio gradle配置

    settings gradle 配置指定路径 module 博主博客 https blog uso6 comhttps blog csdn net dxk539687357 一 正常情况 xff0c 导入本项目的模块只需要使用 includ
  • Windows10 安装 pytesseract 出错 Error opening data file Tesseract-OCR\tessdata/eng.traineddata

    首先表明自己出现的错误 xff1a D BuildFolder tesseract ocr testing gt tesseract dlld exe eurotext tif eurotext span class hljs keywor
  • python--爬取微信公众号

    缘由 相信大家有时候面试的时候会遇到爬取微信公众号的事情 xff0c 终于闲了会参考大佬文章自己也搞了一个微信公众号的爬取简单分享一下 xff0c 莫嫌弃代码low 借鉴知识 博客参考 xff1a https blog csdn net x
  • 物联网操作系统的三大核心流派

    物联网操作系统的三大核心流派 目前 xff0c 市面上的物联网操作系统 基本形成了三大核心流派 1 由传统的嵌入式RTOS发展而来 xff0c 典型代表 xff1a FreeRTOS RT Thread LiteOS uCOS MICO 优

随机推荐

  • “> /dev/null 2>&1“ 含义

    在使用python时 xff0c 有时我们可能会看到这样的代码段 pip install gym pyvirtualdisplay span class token operator gt span span class token ope
  • 认识MEC

    文章目录 一 什么是MEC 二 什么是移动通信系统 三 为什么要有MEC 一 什么是MEC 所谓MEC 从字面上直观理解就能知道 这是一种运用在移动通信系统 Mobile 边缘节点 Edge 并承担大量计算任务 Computer 的玩意儿
  • ROS学习-2 工作空间文件结构和创建功能包

    古月居ROS入门21讲第九个视频 src放功能包的源码和laungh文件 build是编译过程中产生的中间文件 xff0c 二进制文件 install是安装空间 xff0c 放最终编译生成的可执行文件的 xff0c 可以给客户使用的文件 d
  • HC32L系列MCU在KEIL新建工程后在JLINK 下 SW Device下找不到设备的解决方法

    HC32L系列MCU在KEIL新建工程后在JLINK 下 SW Device下找不到设备的解决方法 问题 xff1a 新建工程HC32L的工程 xff0c 通过JLINK连接目标板 xff0c 点击KEIL环境的魔术棒 xff0c 选取JL
  • 漫谈Anchor-based和Anchor-Free

    曾几何时 xff0c Anchor based独霸目标检测这块CV疆域内的肥沃之地 如今 xff0c Anchor Free以其灵活的走位在目标检测中有了一席之地 xff0c 正以星星之火可以燎原之势扩大着自己的声势 Anchor base
  • 【新书推荐】【2020】基于MATLAB和Pixhawk的多轴飞行器设计与控制实践

    本书是斯普林格于2017年出版的 Introduction to Multicopter Design and Control 的姊妹版本 xff0c 旨在通过一个实际的过程帮助读者加深对多轴飞行器设计与控制的理解 As the siste
  • 【新书推荐】【2020】无人机系统设计

    从系统角度全面介绍无人飞机系统的设计和分析 Provides a comprehensive introduction to the design and analysis of unmanned aircraft systems with
  • HDFS使用Kerberos

    转载自 xff1a http www datastart cn tech 2016 06 07 kerberos 1 html 本文尝试记录HDFS各服务配置使用kerberos的过程 xff0c 配置的东西比较多 xff0c 一定会有疏漏
  • 【无人机】【2011.03】无人飞行器的自主飞行研究

    本文为澳大利亚悉尼大学 xff08 作者 xff1a Nicholas R J Lawrance xff09 的博士论文 xff0c 共233页 无人机 xff08 UAV xff09 在一系列工业 科学和国防应用中提供了独特的能力 小型无
  • 【无人机】【2019】无人机巡线路由算法研究

    本文为美国密苏里理工大学 xff08 作者 xff1a YU LI xff09 的硕士论文 xff0c 共79页 随着机器人技术的迅速发展 xff0c 越来越多的公用事业公司使用机器人来执行各种任务 无人机是一种高效的高压输电线路巡检机器人
  • 【电力电子】【2010.09】无人机系统的自适应控制

    四旋翼直升无人机 本文为美国麻省理工学院 xff08 作者 xff1a Zachary Thompson Dydek xff09 的博士学位论文 xff0c 共139页 自适应控制被认为是未来高性能 关键安全系统 xff08 如高超声速飞行
  • 【新书推荐】【2018.11】无人机多传感器导航的非线性卡尔曼滤波

    2018 11 无人机多传感器导航的非线性卡尔曼滤波Nonlinear Kalman Filter for Multi Sensor Navigation of Unmanned Aerial Vehicles xff0c 共254页 如果
  • 【源码】轻松实现四轴飞行器的模拟与控制

    本模型取自题为 Quadcopter Simulation and Control Made Easy 的网络研讨会 xff0c 您可以在这里找到相关视频内容 xff1a https www mathworks com videos qua
  • 【无人机】【2014.08】无人机循环路由

    本文为以色列理工学院 xff08 作者 xff1a Nir Drucker xff09 的硕士论文 xff0c 共65页 许多无人驾驶飞行器 xff08 UAV xff09 针对的国防和民用相关任务涉及在各种时间限制下监测预先确定的一组地面
  • 学习【gRPC C++简单示例及代码】

    文章目录 0 启动程序1 未作修改部分1 1 demo proto 2 添加注释部分2 1 server cc2 2 client cc 3 重点修改部分3 1 CMakeLists txt原始代码3 2 CMakeLists txt精简修
  • 利用Gitee搭建私人仓库-https篇

    利用Gitee搭建私人仓库 https篇 第一步 xff1a 注册Gitee账号https gitee com 第二步 xff1a 创建私人仓库 安装git 第一步 xff1a 下载git git下载地址第二步 xff1a 按照默认安装就好
  • 嵌入式开发必看:PCB设计的这几个问题,你能明白了吗?

    PCB设计布局 xff0c 是把电路器件放在印制电路板布线区内 布局是否合理不仅影响后面的布线工作 xff0c 而且对整个电路板的性能也有重要影响 在保证电路功能和性能指标后 xff0c 要满足工艺性 检测和维修方面的要求 xff0c 元件
  • STM32实例-蜂鸣器实验

    本章我们通过另外一个实验来讲述 STM32 IO 口的输出 通过 STM32F1 芯片的一个 IO口控制板载有源 无源蜂鸣器 xff0c 实现蜂鸣器控制 蜂鸣器介绍 蜂鸣器是一种一体化结构的电子讯响器 xff0c 采用直流电压供电 xff0
  • PCM分析及音量控制

    PCM音量控制 本文转自 xff1a http blog jianchihu net pcm volume control html 一 声音的相关概念 声音是介质振动在听觉系统中产生的反应 声音总可以被分解为不同频率不同强度正弦波的叠加
  • 总结大佬经验,如何学习STM32?(入门、进阶)

    大佬经验 一 想快速入门进阶 xff0c 面向工作时 先把工作中需要的东西学会 xff0c 一项一项的来 xff0c 比如先把GPIO弄清楚 xff0c 怎么初始化 xff0c 怎么输入输出 xff0c 然后定时器 串口 ADC DAC D