大家好,我是华维麦琪,今天来分享下我们华维团队十年经验总结,如何能快速学好stm32单片机!

最近看到很多小伙伴学STM32学的一脸懵逼,有些甚至学1年都不会,有些虽然学会了外设使用,一做起项目来无从下手,感觉自己学了个寂寞,白白浪费时间!

现在随便在招聘平台上搜索单片机开发或者嵌入式开发,基本都要求会STM32。我用STM32也有很多年了,基本上是围绕着F103、F030系列来做产品,对这个芯片的学习深有感触。

很多新手入门stm32都感觉很复杂,几百个寄存器,复杂的内核结构,详细的数据手册都几百页。这个过程需要通过合适的方法跨越。

由于STM32的功能多,其原理又与传统的8位单片机完全不同,再加上软件是基于固件库开发,其中涉及到了大量的结构体、枚举、指针的应用。

STM32是意法半导体较早推向市场的基于Cortex-M内核的微处理器系列产品,系列产品具有成本低、功耗优、性能高、功能多等优势,并且以系列化方式推出,方便用户选型,在市场上获得了广泛好评,深受广大工程师和企业的喜爱。

今天结合自己经历和经验,来跟大家分享下自己曾经是怎么快速学会stm32的!字数可能有点多,你一定坚持看下去,将会收益终身!

我自学完51单片机就出去找工作了,2011年的夏天,很多科技公司对这个职位的要求还不高,会51会改程序基本就能找到工作。那个时候STC单片机比较多,做的是MF卡的权限控制板,之后陆续接触了TFT产品,也用到了NXP,这应该是第一次与32位ARM7的邂逅,比51还复杂,当时我是一头雾水!

后来听隔壁的同事推荐下,我去学习了stm32单片机,果然32条线开发周期短,用起来省时省力!我总结了当时学习的主要经验如下,如果坚持下去说不定能从菜鸟到牛人达成质的飞跃!(偷偷告诉你,我是私下自学的)

一、一周入门计划

这里所谓的“入门”,指的是能理解并掌握一些常用的STM32外设,真正想真正掌握一款处理器,一周根本说明不了什么问题。

1.大胆去做,不怕犯错,一回生二回熟,总结经验,举一反三

我当时踩了好多坑,不爱看数据手册,都是直接复制例程看效果,当时特别憋屈,复制过来 还翻译错!不断地尝试看到例程效果以后,就会去改这个例程的外设配置,比如说例程是控制PA1引脚的灯闪烁,那我会改成PB2,PC2或者其他测试下。

比如说例程定时器1中断是10ms,那我换一个定时器2中断20ms,这样去测试。一周之后你会发现很多东西迎刃而解,学习stm32单片机是多么快乐!

另外我是下班时间慢慢钻研的,如果您每天只有业余时间来学习STM32,建议根据您的具体情况安排时间。毕竟计划时间如果安排太紧,反而收不到良好的效果,只能进入恶性循环,这是我们要避免的。

2.会用就行,不要深挖

单片机博大精深,正是因为这样要根据实际情况来定,记着我们学单片机的目的是产品开发,把产品的外设跑起来,并且知道怎么修改就好了,经验是慢慢积累的,切勿操之过急!

如果你照着例程都不会用的话,很有可能你是没学过51单片机,内部结构和功能部件的特点和属性你都懵懵懂,我劝你还是别浪费时间了!还是把时间用在学习51单片机上,继续关注我的文章,我会总结出一篇学习stm32单片机的基础经验,帮助你们快速上手stm32单片机,减少不必要的时间!

二.两周进阶

进阶最快的方法就是去接触实际产品开发!等你掌握一些常用的STM32外设,接下来就是进阶阶段,大多数人在这个阶段提升是最慢的,主要有如下原因!

1.新手没办法进行实际产品开发,即使接触也是参与项目边缘化的工作,无法学到核心内容!

2.没有人带,经验不足和产品思维没办法提升

3.市面上教程都是开发板多,真正接近实际产品的学习板非常少。

所以很多新手,特别是应届生有一个很普遍的现象,接触不到实际产品开发,找工作像个小白,找不到工作就很多人放弃转行了!

对于进阶这块,我在19年尝试针对这种情况录制了一套视频,计划只是录出来玩一下的。

内容主要手把手教你写一个轻量级的时间片轮训操作系统,也可以理解成是一个程序架构。

在这个架构的基础上,我提供在产品开发当中,经常会碰到的一些疑难杂症的解决方法,比如说。

1.如果一个产品有10个甚至更多按键需要同时检测短按、短按释放、长按、长按释放动作的时候,代码怎么写可扩展性更强?

2.如果有10个甚至100个LED灯,要怎么实现每个灯独立的效果,比如说慢闪、快闪、隔3快闪2次,隔5秒快闪1次等等。

3.做物联网网关时会实时跟服务器进行心跳监测,在如此高频和数据量大的情况下,如何保证数据不丢包。

那解决这些问题所涉及到的技术点有回调函数、任务调度、队列算法等等,如果全部消化并且加以优化,足以写出可移植性和可扩展性非常强的程序。

免费领,单片机入门到高级开挂学习攻略(附教程+工具)https://blog.csdn.net/HWdanpianji/article/details/121722883?spm=1001.2014.3001.5502

这个程序架构是开源提供给大家的,包括视频教程+源码+工具。

stm32单片机学习秘籍(完整版)相关推荐

  1. 超详细OpenMV与STM32单片机通信 (有完整版源码)

    目录标题 1.前言(闲话) 2.硬件连接 3.软件代码---OpenMV端 4.软件代码---STM32端 5.利用PC端测试数据数据是否发送接收正常 6.学习补充 (代码看不懂的时候可以来看一下) ...

  2. AI工程师职业规划和学习路线完整版

    AI工程师职业规划和学习路线完整版 如何成为一名机器学习算法工程师 成为一名合格的开发工程师不是一件简单的事情,需要掌握从开发到调试到优化等一系列能 力,这些能力中的每一项掌握起来都需要足够的努力和经 ...

  3. 单片机入门学习五 STM32单片机学习二 跑马灯程序衍生出的stm32编程基础

    上篇文章 单片机入门学习四 STM32单片机学习一 跑马灯程序和创建工程 仅介绍了入门程序及其编译运行过程,下面开始对stm32的一些基础知识做一个记录. 1.stm32f103zet6(上篇问题3 ...

  4. STM32单片机学习(11) DS18B20温度传感器实验

    STM32单片机学习(11) DS18B20温度传感器实验 本程序主要实现 DS18B20温度传感器数据获取,并利用串口通信把温度数据传至计算机 注:使用普中科技开发板测试时,需要拔掉Boot1插口, ...

  5. 野火洋桃STM32开发版学习指导完整版

    该文章是我历时一个月整理总结而成,专门针对想要通过野火&洋桃STM32开发板入门stm32的读者.由于csdn编辑限制,该学习指导只包含文字信息.如需查看含图片的完整版可进入我的博客下载页.完 ...

  6. stm32中断源有哪些_143条 超详细整理STM32单片机学习笔记(必看)

    点击上方蓝色字关注我们~ 1.AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备 2.Stm32f10x.h相当于reg52.h(里面有基本的 ...

  7. PyTorch核心贡献者开源书:《使用PyTorch进行深度学习》完整版现已发布!

    来源|新智元 [导读]<使用PyTorch进行深度学习>一书的完整版现已发布!教你如何使用PyTorch创建神经网络和深度学习系统,内含图解与代码,操作易上手. 由Luca Antiga. ...

  8. keil 4c语言读写寄存器,【STM32单片机学习】第四课:GPIO控制LED(用寄存器编程)

    [朱老师课程总结] 第一部分.章节目录 第二部分.章节介绍 3.5.1.STM32的GPIO模块数据手册详解1 本节讲解STM32数据手册中GPIO模块相关的部分,主要是GPIO的各类模式及其配置方法 ...

  9. 78、基于STM32单片机学习型搬运机器人四自由度机械臂机械手遥感控制设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.程序源码 七.资料包括 摘要 在当今大规模制造业中,企业为提高生产效率, ...

  10. 【STM32单片机学习】第一课:STM32那些你该知道的事儿

    [朱老师课程总结 侵删] 第一部分.章节目录 3.1.1.STM32和STC51开发 3.1.2_3.STM32的来历背景 3.1.4.STM32简单中文手册带读 3.1.5.STM32的各种仿真器调 ...

最新文章

  1. GitHub开源的最全中文诗歌古典文集数据库
  2. 用动图讲解分布式 Raft
  3. Spring - Java/J2EE Application Framework 应用框架 第 10 章 使用JDBC进行数据访问
  4. python3 No module named 'PIL'
  5. 静态分配和动态分配内存的区别
  6. 蠕变断裂 ansys_如何避免范围蠕变,以及其他软件设计课程的辛苦学习方法
  7. oracle ora 00283,【案例】Oracle报错ORA-16433非归档丢失redo无法启动的恢复过程
  8. ajax使用教程_AJAX教程:什么是AJAX以及如何使用它
  9. 对mysql进行压力测试_mysqlslap对mysql进行压力测试
  10. [leetcode] 413. 等差数列划分
  11. SAP那些事-理论篇-7-SAP的优势和劣势
  12. antdesign 柱状图_你绝对想不到柱形图背后有这么多故事
  13. Qt入门教程【Core篇】Layout布局(布局管理器、手动布局)
  14. Python根据字幕文件自动给视频添加字幕(通用版)
  15. 以YOLOv5为基准实现布匹缺陷检测(Fabric Defect Detection)
  16. 高级硬件工程师是怎样炼成的
  17. 中建普联:大数据在工程造价中的应用
  18. win732位升级64位教程
  19. 解决VBA ADO连接Access2010以上版本密码无效问题
  20. python最简单的爬虫代码,python小实例一简单爬虫

热门文章

  1. 堆转存目录/tmp或日志目录/var/log可用空间小于 10.0 吉字节。
  2. SARscape手动下载30mDEM(SRTM1 V3)切片数据-[EC: 40008]
  3. 游戏服务器租用阿里云和腾讯云价格对比
  4. 五行俱全才能成为合格的游戏系统策划!
  5. 物联网技术-RFID
  6. 磁盘分区,格式化,挂载
  7. iphone如何显示实时网速和内存空间
  8. 中国首个证券纠纷示范判决机制的规定在沪发布
  9. win10如何禁止CDR软件访问网络的设置方法教程
  10. 一看就会的侧方位停车技巧 见了就收了吧