我的STM32艰苦入门经验体会与总结

2023-05-16

我的STM32艰苦入门经验体会与总结

第一章笔者的入门总结
1.1为什么要把时间花在“犹豫”上?

                    每当我们在入门之前(ARM是这样,DSP也一样),总会会有很多疑问,会有很多顾虑。我们渴望知道学习STM32前景如何?需要啥基础?难不难?适不适合我?但是什么时候能心潮澎湃地、相当着急地开始学STM32?日子在一天一天过去!你开始行动了吗?没有行动的思索,永远都不可能入门!把这些时间用来看书吧,效果能好一万倍。

      大家一般都是从51单片机过来的,回想一下,我们之前学单片机时如何入门呢?实际上都是先看书(理论),再玩板子(实践)。严格地说,应该是模仿实验。熟悉之后才会自己写程序代码实现某个功能。因此,如果你正在咨询STM32;如果你正对STM32心潮澎湃;如果你想入门STM32;那么,从现在开始,不要犹豫了,不要想再详细地了解STM32的前景了。做一个可能影响你一生的决定吧!不用咨询,不用兴奋,开始看书籍(文档)吧!!每个人都是这么走过来的。

 

1.2看资料需要计划、耐心和速度

      这里所谓的“资料”包括STM32书籍、文档。因为STM32有个特点,datasheet很多都是中文的,有些同学就没有去买书籍,直接看STM32的用户手册,也是可以的。但是不管看书籍还是文档,我们是需要计划的。不是今天看3页,明天看5页。一本书看了两个月,还在磨蹭。请记住,你学的不是寂寞,是STM32!看书或文档不是用来消遣时间的。背水一战吧,给自己规定一个底线:两周内把一定粗略地过一遍!不要求都看懂,事实上,不可能都看懂。但我们必须理解基本知识,对难度高的知识有一个印象,至少以后碰到问题的时候,我们会似曾相识,感觉在哪里见到过,于是翻资料上网找答案——带着问题的时候,效率才是超高的。

      两周过去了,STM32的知识你过一遍了吗?没看完?那么,你应该考虑这些天中,你是否尽力了?是否真的想学STM32?或者还是看到STM32人气很高,也想跟下时髦?是不是碰到问题没法解决就想放弃了?现在是你做第二个决定的时候了,请决定你是否继续攻读STM32。如果是一时冲动想跟时髦,请马上放弃——你已经浪费两周时间了,你还想再浪费14天吗?如果想吃得苦中苦,方为人上人,OK,请继续往下看:)

 

1.3STM32必备开发板

稍微了解一些理论知识后,现在摆在你面前,有两条路:

第一,自己画PCB制板、焊接、调试。

第二,购买一套性价比高的开发板。

           笔者之前做过几次PCB设计,而且当时在实验室可以报销所有费用,就自己做了一个PCB板。建议有报销条件的同学自己设计一块板子学习。毕竟2PCB的设计不是很难。

           无法报销的同学,可以选购一款开发板学习。因为自己出钱制板,至少需要150元,加上芯片元件费用、液晶屏费用,可能制作最小系统也要约250元。所以购买开发板还是比较合算的。毕竟现在市场上的STM32开发板已经白菜价了。这里不方便进行各个品牌STM32开发板的比较,个人推荐目前市场上比较牛的STM32神舟系列开发板,毕竟是官方团队打造的,性价比以及文档资料都非常完美,就是价格可能贵一点。

           总之一句话,选购的开发板一定要性价比最高的,资料最全,而不是最实惠而资料不全的,有时候贵点也没关系,磨刀不误砍来工,有个好的板子等于有把好的锄头。实际上,大多数同学选购的开发板是用来学习的,不是用来项目开发的。因此,能让你最容易上手STM32,资料齐全就非常重要了,这样可以节约很多时间,俗话说时间就是金钱。

 

1.4熟悉开发板并试图写程序

      这时的你,不能再停留在理论上了。你现在的心情,应当是:看到开发板,马上就有一种说不出的兴奋!但是,心急吃不了热豆腐!请耐心把厂家配套的开发板使用手册浏览一遍,熟悉你买的开发板。按照使用手册,把开发板上的相关测试、操作步骤,都动手做一遍,你会发现,原来开发STM32是如此简单!那么就让我们开始STM32嵌入式高手开发之路吧!

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

我的STM32艰苦入门经验体会与总结 的相关文章

  • GCC - 如何停止链接 malloc?

    我正在努力将我的代码缩减到最小的骨架大小 我使用的是只有 32k 闪存的 STM32F0 需要很大一部分闪存用于数据存储 我的代码已经有大约 20k 闪存大小 其中一些是由于使用了 STM32 HAL 函数 我可以在以后需要时对其进行解释和
  • 在 MCU 内部 FLASH 中从一个固件跳转到另一个固件

    我目前正在开发针对 STM32F030C8 的引导加载程序固件应用程序 我在分散文件中指定引导加载程序应用程序将占用主内存位置 0x08000000 到 0x08002FFF 扇区 0 到扇区 2 我还编写了一个主固件应用程序 存储在0x0
  • 138-基于stm32单片机汽车多功能仪表盘显示系统Proteus仿真+源程序

    资料编号 138 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 ds1302时钟 LED灯 蜂鸣器 电位器 制作一个基于stm32单片机汽车多功能仪表盘显示系统Proteus仿真 2 通过DHT1
  • 137-基于stm32单片机智能保温杯控制装置Proteus仿真+源程序

    资料编号 137 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DS18B20传感器 电机 制作一个基于stm32单片机智能保温杯控制装置Proteus仿真 2 通过DS18b20传感器检测当前保温杯水的温度 并且
  • STM32F4 通过软复位跳转到引导加载程序,无需 BOOT0 和 BOOT1 引脚

    我问这个问题是因为可以在这里找到类似问题的答案 通过应用程序跳转到 STM32 中的引导加载程序 即从用户闪存在引导模式下使用引导 0 和引导 1 引脚 用户 JF002 JF002回答 当我想跳转到引导加载程序时 我在其中一个备份寄存器中
  • STM32 GPIO工作原理详解

    STM32 GPIO介绍 1 STM32引脚说明 GPIO是通用输入 输出端口的简称 是STM32可控制的引脚 GPIO的引脚与外部硬件设备连接 可实现与外部通讯 控制外部硬件或者采集外部硬件数据的功能 以STM32F103ZET6芯片为例
  • SHT10温湿度传感器——STM32驱动

    实验效果 硬件外观 接线 3 3V供电 IIC通讯 代码获取 查看下方 END
  • [MM32硬件]搭建灵动微MM32G0001A6T的简易开发环境

    作为学习单片机的经典 自然是通过GPIO点亮LED 或者是响应按钮的外部中断例程 这我们看看SOP8封装的芯片MM32G0001A6T得引脚 除了VDD和GND固定外 我们可以使用PA14 PA1 PA13 PA15 PA2 PA3这六个G
  • HAL 锁定和解锁函数如何使用以及为什么?

    我试图理解另一位程序员编写的代码 它使用了I C http en wikipedia org wiki I C2 B2C通信以将数据写入 STM32 微控制器的 EEPROM 一般来说 我理解他的代码是如何工作的 但我不明白他为什么使用HA
  • 硬件基础-电容

    电容 本质 电容两端电压不能激变 所以可以起到稳定电压作用 充放电 电容量的大小 想使电容容量大 使用介电常数高的介质 增大极板间的面积 减小极板间的距离 品牌 国外 村田 muRata 松下 PANASONIC 三星 SAMSUNG 太诱
  • 解决KEIL编译慢问题

    两种方案 使用v6版本的ARM Compiler 如果v6版本编译不过 必须使用v5版本的 则可以勾选掉Browse Information选项 提升很明显 1分多钟能优化到几秒 看代码量 但是这个有个弊端 在KEIL中会影响函数跳转 建议
  • 在 Atollic TrueStudio、STM32CubeMX 中导入 C 库

    我目前正在开发 STM32F767ZI Nucleo 板和一个小安全芯片 microchip atecc508a 通过 i2c 连接进行连接 该芯片有一个可用的库加密验证库 https github com MicrochipTech cr
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 擦除后无法写入闪存

    所以我不能在擦除后直接写入内部闪存 如果写操作之前没有擦除操作 那么我可以 有什么想法吗 编程函数返回 成功写入 值 但查看内存时 没有写入任何数据 这是代码 uint32 t pageAddress 0x08008000 uint16 t
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • STM32 暂停调试器时冻结外设

    当到达断点或用户暂停代码执行时 调试器可以停止 Cortex 中代码的执行 但是 当皮质停止在暂停状态下执行代码时 调试器是否会冻结其他外设 例如 DMA UART 和定时器 您只能保留时间 r 取决于外围设备 我在进入主函数时调用以下代码
  • for循环延时时间计算

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 之前做led点亮的实验 好像是被delay函数影响了 因为delay参数设置的不对
  • systick定时器

    systick定时器 文章目录 前言 一 前期疑惑 二 解答 1 关于systick是阻塞的吗 2 非阻塞 三 软件编写 总结 前言 这边记录systick相关知识点 一 前期疑惑 在学习systick志气啊 其实对于systick还是一脸
  • 在 Contiki 程序中使用 malloc

    考虑以下 Contiki 程序 include
  • HAL_Delay() 陷入无限循环

    我被 HAL Delay 函数困住了 当我调用此函数 HAL Delay 时 控制陷入无限循环 在寻找问题的过程中 我发现了这个 http www openstm32 org forumthread2145 threadId2146 htt

随机推荐

  • springsecurity 登录后依然无法访问页面

    springsecurity 登录后依然无法访问页面 登录成功 点击左侧功能列表报错 org springframework security access AccessDeniedException Access is denied at
  • 前端---vscode插件推荐及GIT一些问题操作说明(持续更新)

    以前都是用sublime xff0c 最近开始使用vscode xff08 v1 50 0 xff09 xff0c 写一些心得记录一下 先安利一些自己使用的插件 TabNine这个插件 xff0c 如果电脑配置ok xff0c 可以装一下
  • http协议之digest(摘要)认证

    参考网址 xff1a RFC 2617 HTTP Authentication Basic and Digest Access Authenti RFC2617 RFC 1321 The MD5 Message Digest Algorit
  • FreeRTOS heap 4 机制解析

    FreeRTOS提供了几个内存管理的方案 xff0c 其中一个实现较好的方式是heap4 本篇就来形象讲述heap4的工作原理 本文暂时只用作自己对heap4的工作机制的总结和记录 xff0c 有空了再修改成教程吧 xff0c 所以 xff
  • 使用Qt写Xml文档,追加节点。

    追加Xml文档就是 xff0c 要 增 一段内容 xff0c 要实现的效果如下 xff1a 因为想临时存储一些东西 xff0c 所以利用xml做个简易的数据库 xff0c 要应用的ARM设备上 xff0c 存放入SD卡 网上找了半天 xff
  • sudo apt-get update 报错 ubuntu xenial InRelease 明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)解决

    一句话总结 xff1a 换可用的国内源 问题的产生 xff1a 今天刚装了个ubuntu 16 04 xff08 还没装新的 xff09 结果想装个vim一直不成功 xff0c sudo apt update多次总是出现下面的 xff1a
  • docker 常用命令

    systemctl start docker 启动docker服务 systemctl stop docker 停止docker服务 systemctl restart docker 重启docker服务 systemctl status
  • 大疆Manifold 制作和恢复镜像及恢复出厂设置卡主不动处理方法

    进入恢复模式 首先你要准备一台运行Ubuntu 14 04或者Ubuntu16 04的电脑 xff0c 将电脑与Manifold 的RECOVERY USB 接口 xff0c 用Manifold自带的USB线连接 连接电源 xff0c 上电
  • Gazebo构建小车模型并通过ROS控制

    Gazebo构建小车模型并通过ROS控制 介绍编写车子的URDF文件编写控制小车移动的插件 与ROS交互 结尾 介绍 突然想试试Gazebo这款仿真软件 xff0c 因为它可以让你在任何时候都有机器人玩 但Gazebo的机制也比较复杂 xf
  • OPENCV面试题

    1 opencv中RGB2GRAY是怎么实现的 答 xff1a 以R G B为轴建立空间直角坐标系 xff0c 则RGB图的每个象素的颜色可以用该三维空间的一个点来表示 xff0c 而Gray图的每个象素的颜色可以用直线R 61 G 61
  • RandomForestClassifier、SVM、xgboost实现二分类算法

    RandomForestClassifier span class token comment coding utf 8 span span class token keyword import span numpy span class
  • 二、Crazepony1无人机源码分析-(4)接受遥控器的数据

    二 Crazepony1无人机源码分析 xff08 4 xff09 接受遥控器的数据 1 程序源码2 流程图 1 程序源码 span class token comment 查询中断 span span class token keywor
  • Linux内核移植和根文件系统制作

    第一章移植内核 1 1 Linux内核基础知识 1 1 1 Linux版本 1 1 2 什么是标准内核 1 1 3 Linux操作系统的分类 1 1 4 linux内核的选择 1 2 Linux内核启动过程概述 1 2 1 Bootload
  • 联发科MT76x8使用1-芯片对比

    上面是我创建的群聊 xff0c 欢迎新朋友的加入 最近新到手一个MT 76X8的板子 xff0c 盖了个铁壳壳 xff0c 丝印上写的是MT 7628 学习一下 特意对比了MT 7628和MT 7688 对比了一下 xff0c 没什么太大区
  • FreeRTOS

    freertos 会接管 systick xff0c 作用时间片基准 xff0c 系统不跑systick不会开始计数 xff0c 所以需要另外的timer作为hal tick来源 freertos 会接管 svc xff0c 作用是用来开跑
  • STM32串口收发、串口中断、串口波特率的理解、普通IO模拟串口

    STM32串口收发 串口中断 一 串口中断二 使用DMA三 串口波特率的理解 开发环境 xff1a stm32cubuMax 43 Keil5 一 串口中断 1 当收到消息的时候 xff0c 立即进入控制程序 实现通过串口控制硬件 xff1
  • apt一键下载所有依赖的包

    apt一键下载所有依赖的包 无外网的局域网安装软件一个烦人的事件就是明明安装包下好了 xff0c 但有时候就是安装不上 xff0c 因为缺少相应依赖的包 那么如何将一个软件依赖的包 库之类的下载下来呢 这里就用到apt的相关功能 方法 首先
  • git合作开发时,没有pull就直接push会怎样

    git的时候总会遇到一些奇怪的问题 目前遇到最麻烦的还是在push之前没有pull 每天上班第一件事pull一下 xff0c 上传代码之前一定要pull 没有pull就push xff0c 会出现merge 即使使用git reset so
  • 关于Python Numpy array 的axis 的用法的总结

    我自己学习numpy已经很长时间了 xff0c 但一直搞不懂它array里面axis的用法 经常就是自己试一下看看axis 61 0 或者 axis 61 1 的时候会怎么样 然后再用到代码里面 xff0c 比如 xff1a 首先导入num
  • 我的STM32艰苦入门经验体会与总结

    我的STM32艰苦入门经验体会与总结 第一章 笔者的入门总结 1 1 为什么要把时间花在 犹豫 上 xff1f 每当我们在入门之前 xff08 ARM 是这样 xff0c DSP 也一样 xff09 xff0c 总会会有很多疑问 xff0c