stm32的基本学习路径---新手指南

2023-05-16

心得
本人学习STM32的时候有一些跟风的因素,自以为学的芯片越多就越厉害 =_=、 其实,学习嵌入式重要的是整体的工程思想和项目经验积累,说到底这些芯片,我感觉学习起来都差不多吧,无非就是对内资源(寄存器、中断、定时器、串口等等),和对各种外设的操作而已,挂载的外设越多,系统会越复杂,这时可能会用上操作系统,同时,如果工程中涉及到各种算法、自动控制、采样、滤波等实际问题的时候,不仅会上操作系统,而且还对数学、物理、电路等方面知识要有较强的功底,对编程的能力的要求会更高,此时就要求对STM32的各种资源有比较明晰的了解了。

回到问题,题主问:如何系统的学习STM32?
(这个问题,,,讲句实话,以本人的水平,真的不敢强答 =_=,才学有限,仅仅提几点建议吧)

建议: 1、要动手实践,要动手实践,要动手实践!
下面有位答主也提到了,工科类的东西光看是不够的!算法如何实现,自己独立设计再动手去敲一敲就知道了;外设如何驱动,找到芯片手册,照着时序图自己敲一遍;涉及到操作系统部分的内存管理与进程调用,找到源码仔仔细细研读几遍(自己应该写不出吧 =_=),相信你一定会很有收获的,可能我这个方法比较笨,但是确实挺实用的,个人觉得。

2、准备好资料与开发板
相信很多人都有这样的意识吧,学一款芯片首先想到的是买一块开发板,对的,没错!巧妇难为无米之炊嘛,这里推荐两本书《C和指针》、《Cortex-M3权威指南》和《STM32库开发实战指南》网上都有PDF版本,结合自己的开发板配套的视频教程(某火的讲的就不错,需要的话私信发给你),先要理解透彻,然后自己独立去敲一敲,触类旁通,例子上给出的都不会很难,知识的拓展很重要,就是举一反三。还有,不懂得话就多去各大论坛大神虚心请教,论坛里有很多经验帖子值得学习。

3、库开发与寄存器开发?
现在STM32入门门槛都不高,稍微有点C语言和单片机基础的都能学,有人说:寄存器操作那么复杂难懂,那一堆寄存器名字都记不住,,,那寄存器开发是不是就不重要了?显然不是,我会说大牛与菜鸟的却别就在这儿?尽管我也很菜。。。建议:库开发为主,看寄存器是为了理解实现的原理,所以寄存器部分不能丢了。有余力可以深入学习下,这对M3内核的理解很有帮助,以及后面ARM系列芯片的学习都很有帮助。

4、多做东西。在实际工程项目中去锻炼能力
题主才大一,若对这一块感兴趣的话,可要把51单片机的知识深入透彻地学扎实哟,这是基本功。尽量争取加入实验室,跟着学校实验室的老师、学长,学姐,并积极参加校内外组织的各种比赛,如电赛、全国STM32大赛,飞思卡尔智能车,四旋翼等等。一开始不懂没关系,只要他们不嫌弃你,积极好学、不要怕苦!(在实验室里要谦虚、好学、低调啊,切勿装逼!否则被打脸是很惨的,别问我怎么知道的 =_=........),有条件的话,可以组建团体去接外面的项目,当然要经过老师同意,或者代做毕业设计也是条财路 【 手动斜眼】

5、勤总结,有整体思想。形成自己的总结文档、代码风格
可能很多人都没有这个习惯,包括当初本人自己,拿到一个课题或者项目的时候,大概写一下流程,就开干,途中遇到很多问题,程序改了又改,从v1.0改到v10.0都还有BUG,,,究根到底,还是自己学得不够透彻不够扎实,没有一个整体的概念,知识零散杂乱,不成体系。有时候,程序框架、流程都没有错,就因为时钟PLL配置上的冲突,导致一个礼拜BUG找不出来,,,所以,形成良好的编程习惯、勤写注释、善于总结真的很重要!最好能形成文档,这绝对是最好的经验积累形式!

暂时就写这么多吧,本人才疏学浅,如有不对之处望大神斧正

都这么晚了,点个赞呗,,,伦家明天还要上课呢,,,,(哭

其实这东西在他们官方论坛都有下的23333,还有正点原子的也是,找到他们的官方论坛,什么资料都有,要善于找资料。

【野火STM32视频教程】

链接:https://pan.baidu.com/s/1T31YJsDaaVJCMcXnOlb7mw 密码:cebk

【STM32参考资料】

链接:https://pan.baidu.com/s/1fiS2jX1s2y4T2jwYE3629Q 密码:adlk

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

stm32的基本学习路径---新手指南 的相关文章

随机推荐

  • px4+vins+ego单机鲁棒飞行五(坐标系变换篇)

    px4 43 vins 43 ego单机鲁棒飞行五 xff08 坐标系变换篇 xff09 一 齐次矩阵变换原理二 无人机上利用旋转矩阵求飞机中心位置 一 齐次矩阵变换原理 参考一 参考二 二 无人机上利用旋转矩阵求飞机中心位置 首先写出相机
  • 编译多版本opencv,并在cmakelists中链接

    编译多版本opencv xff0c 并在cmakelists中链接 一 下载二 编译三 链接四 替代系统的 xff08 可选 xff0c 但不建议 xff09 五 链接了 xff0c 但无法找到 一 下载 github链接 自己选择版本 x
  • CMakeLists笔记

    CMakeLists笔记 一 路径名二 函数三 常用 一 路径名 PROJECT SOURCE DIR xff1a 一般为catkin ws src xff0c 是cmakelists的绝对路径PROJECT BINARY DIR xff1
  • 源码编译安装openvino

    源码编译安装openvino 1 原地升级cmake2 编译opencv4 5 33 下载openvino4 配置usb规则 参考博客 交叉编译方式 1 原地升级cmake 方法一 xff1a 下载3 19 0中的CMake 3 19 0
  • 【ros】读取串口数据

    文章目录 一 自定义 gnrmc msg二 代码三 结果四 注意点 有时候 有的设备是通过串口发送数据 xff0c 想要在 ros 中 xff0c 读取串口数据 xff0c 记录一下操作 xff1a 一 自定义 gnrmc msg 首先需要
  • Android守护进程

    守护进程 守护进程 一直在后台运行的进程 本文主要讲解一些android比较常用的守护进程的方法 实现思想 1 保活 xff0c 通过提高进程优先级 xff0c 降低进程被杀死的概率 2 拉起 xff0c 进程被杀死后 xff0c 进行拉起
  • ros package 由于依赖 msg 导致编译问题解决

    文章目录 1 问题2 解决 1 问题 经常我们会自定义一些 msg 给其他的 package 使用 如果正常写 CmakeLists txt 在编译的时候 就会提示没有找到依赖的 msg 需要先编译 msg 的 package 再编译其他的
  • 使用Docker部署软件运行环境

    什么是docker xff1f Docker是基于Go语言进行开发实现 xff0c 一个开源的应用容器引擎 采用Linux内核的cgroup xff0c namespace xff0c 以及AUFS类的Union FS等技术 xff0c 对
  • 【控制control】四足机器人运动学、动力学模型

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 TODO 写完再整理 文章目录 系列文章目录前言一 四足机器人实际模型的物理难点二 四足机器人运动学模型1 方法一 xff1a DH法建
  • 【项目解读】fast_planner工程解读

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 TODO 写完再整理 文章目录 系列文章目录前言一 规划系统运行逻辑 业务部分 1 Fast planner node cpp 程序入口
  • IMU方向位姿估计

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 TODO 写完再整理 文章目录 系列文章目录前言一 方法一 xff1a IMU方向位姿可以直接从IMU本身提供的专有算法中获得 xff0
  • 【autoware的仿真平台】

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 TODO 写完再整理 文章目录 系列文章目录前言一 仿真的必要性及常见的仿真工具介绍二 gazebo仿真插件介绍及源码解析1 gazeb
  • 【机械臂、无人机规控篇】(8)机械臂轨迹规划、跟踪控制方向

    系列文章目录 提示 xff1a 这里可以添加系列文章的所有文章的目录 xff0c 目录需要自己手动添加 TODO 写完再整理 文章目录 系列文章目录前言一 机械臂的规划控制和无人的规划控制的异同点分析1 规划的异同分析2 控制的异同分析 二
  • 微信支付——支付签名验证失败的坑

    只讲几个微信支付开发中的签名问题 xff08 JAVA版的公众号支付 xff09 第一个是获取订单数据时生成 xff0c 然后通过这些数据生成预支付订单 xff08 通过 统一下单 方法取得 xff09 xff0c 微信官方返回一串xml数
  • c++的多重继承

    一 前言 每个类只继承一个父辈 xff0c 在现实世界中事情通常是这样的 xff0c 但是有一些类却代表两个类的合成 例如两用沙发 xff0c 它是一张床 xff0c 也是一个沙发 二 示例代码 xff0c 用作下面提出问题使用 span
  • 学习 STM32之九轴姿态传感器(BWT901CL)串口通信读取数据

    由于个人应用到3轴传感器 xff0c 所以买了直接买了一个9轴的 xff0c 用于学习STM32Core平台串口2连接维特智能串口Normal协议 xff0c 然后通过串口1直接打印数据 xff0c 接收传感器数据和与传感器进行通信 xff
  • 用遗传算法求解旅行商问题

    以下是用遗传算法解决旅行商问题的实验报告 1 问题描述 旅行商问题 xff08 Travelling Salesman Problem 简记TSP xff0c 亦称货郎担问题 xff1a 设有n个城市和距离矩阵D 61 dij xff0c
  • 学习LLC谐振变换电路的工作原理

    五 学习LLC谐振变换电路的工作原理 在具有电阻R 电感L和电容C元件的交流电路中 xff0c 电路两端的电压与其中电流相位一般是不同的 如果调节电路元件 xff08 L或C xff09 的参数或电源频率 xff0c 可以使它们相位相同 x
  • 关于电赛应该了解的事

    2021年1月31日 xff0c 全国大学生电子设计竞赛组委会向各赛区组委会 各有关高校下发 关于组织2021年全国大学生电子设计竞赛的通知 xff0c 正式启动2021年全国竞赛组织工作 电赛越来越近 xff0c 很多大一大二的同学还没有
  • stm32的基本学习路径---新手指南

    心得 xff1a 本人学习STM32的时候有一些跟风的因素 xff0c 自以为学的芯片越多就越厉害 61 61 其实 xff0c 学习嵌入式重要的是整体的工程思想和项目经验积累 xff0c 说到底这些芯片 xff0c 我感觉学习起来都差不多