因为你1级就去打BOSS。 看了很多类似的帖子,发现没讲到点上,有些甚至把你带到坑里去。 这里结合我的经验和经历告诉你STM32怎么学最快,看完一周学不会你打我! 全文很长很干,建议收藏起来,不学放着吃灰也好! 一、为什么你学STM32这么痛苦 我一直要求我的学员,必须要从51开始学。 很多人开始听信了网上说的51已经过时了,51已经没公司用了,别去学51之类的鬼话。 我可以很负责地告诉你。 51不但没过时,还在被大量产品使用,51好歹是8位单片机,现在4位单片机都还在大量应用你信吗? 它们最大的优势是价格便宜。 实际产品开发不像在开发板上玩,对成本各方面有严格的要求。 举个例子:1块板子省5毛钱,每个月出货量10K,就省5000了,相当于小职员一个月工资。 对于我们学习单片机的来说,51能建立我们对单片机系统的认识,每个寄存器每个位基本都会接触到。 而STM32无论外设还是架构都比较复杂,软件是基于固件库来开发,不用接触寄存器配置。 所以如果你没单片机基础一上来就干STM32,后面每学一个知识点你都会存在大量的问题。 比如说为什么这样配置?我想改配置要怎么改?改了出现问题怎么解决? 看起来你是走了捷径,实际你所花的时间更长。 二、STM32要怎么学才高效? 我入门的单片机是51,然后是NXP,最后才是STM32。 用了STM32以后,其他单片机都不想再用了,因为对比NXP单片机要手工配置寄存器来说,STM32实在太香了。 而且ST的价格也很公道(最近涨价纯属突发),芯片也很稳定,资料丰富,深的广大企业和工程师的喜爱。 我当时和大家一样,刚接触固件库一脸懵逼,怎么跟51的开发模式完全不一样。 然后没办法,公司催产品催的急,我为了不暴露自己的技术水平,含泪自己在某宝买了一个STM32开发板偷偷学,一边学一边干。 当时买的是某火的,当时还没视频教程,幸运的是,每个外设(GPIO、Timer、Usart、ADC、DMA等等)的例程都有。 我把每个例程都在开发板上玩了一遍,主要是学习怎么把我需要的外设用起来。 比如: 例程是控制PA1引脚的电平高低,那我会改成PA2,PA3或者PB1试一下。 例程是用Timer0做10ms的中断,那我会改成20ms试一下。 每个我产品需要用到的外设,我都会使用例程举一反三地测试一遍,这样一波操作下来你至少知道这些外设怎么用,知道要怎么改了。 从头到尾,我并没有深入去过STM32的内核架构,也没看过他们的寄存器。 这里都衍生出大多数人在学习过程中的一个误区:什么都想系统学一下! 如果你有这种思维,注定你要走很多弯路。 STM32光寄存器就几百个,芯片手册几百页,系统学完.....估计头发又稀疏了。 正确的方法是你产品需要什么外设,你就去学什么外设,随着经验沉淀,后续你对STM32理解会越来越深。 没产品实战经验的时候,本身理解能力就有限,这时候你去深挖会有种强扭瓜的感觉,会甜么? 我做过数十个产品,STM32最常用的外设我给大家整理好了: GPIO、TIMER、Systick、EXTI、USART、ADC、DMA、SPI、IIC。 现在买开发板都配详细视频教程,花个1周完全可以全部学完。 学完这些以后,剩下就需要找产品去实战了,最好是别人做过的成熟产品,学习他的产品架构和程序思维,如果有人带那你提升的速度是飞快的。 三、进阶经验 经常有小伙伴咨询我,学完51,STM32还要学什么单片机? 其实单片机开发工程师到后面,把重心放在学单片机上没有意义,单片机只是一个工具而已,芯片变化也快,你熟悉的芯片随时有可能被替代。 当你积累到一定经验,将无惧任何一款单片机,随便一款手到擒来,因为现在的芯片厂为了推芯片,会提供外设例程和技术支持。 我们后面的重点呢是资源收集整合,资源收集整合包含硬件和程序,这样做最大的好处就是加快新产品开发周期,后续你开发什么产品,直接复制粘贴就可以小批量了。 这也就是为什么我后面做产品基本都是2周出样机的原因。 硬件这块没啥说的,都是经过以前产品批量验证的,稳定性没问题。 主要是编程这块,要想写出移植性、可扩展性非常强的程序架构是需要大量经验沉淀的。 毫不夸张地说,如果没人带,可能你一辈子都不可能接触到!比如定时器管理、链表、队列、回调函数,你知道每个知识的作用吗?怎么把利用这些写出一个稳定的程序架构吗? 我在2019年的时候录了这套专门讲这种程序架构的视频教程,里面的内容全是为了解决产品开发时的痛点而设计。 比如说: 1.怎么做到真正的模块化编程,数据从硬件层进来怎么合理地传递到应用层,这里会用到回调函数。 2.如果有100个灯做不同的闪烁效果怎么解决?这需要一个好的程序架构支撑,否则会乱套。 3.如果有50个按键分别要检测短按、短按释放、长按、长按释放动作,你会不会崩溃? 最后大家最关心的,免废!免废!免废!要的可以自行到无际单片机编程拿。 学完以后加以练习,你也能和我一样2周完成一个产品的软件部分。 纯原创手打,现在手指有点抽筋。。(我的意思是可以开始鼓励三连了...)。 |
一线QQ:2821046851⋅小黑屋⋅免责声明⋅一线生活-深圳论坛 ( 豫ICP备14009102号-1 )
Powered by Discuz! X3.4 Licensed © 2001-2013 Comsenz Inc.