那本日通过自己的经历来见告大家STM32怎么学最快,领悟到了1周学会绝对没问题!
一、入门
我刚开始学完51就出去找事情了,那时是2011年,企业对这个职位的哀求还不高,会51会改程序基本就能找到事情。
事情中我打仗最多的便是STC单片机,做MF卡的权限掌握板。
后面又打仗到了TFT屏幕的产品,用到了NXP,那是我人生中第一次打仗32位ARM7的芯片,利用起来跟比51繁芜很多,但是事理都一样,须要自己配置寄存器来利用外设。
后面在一个老工程师的推举下,听说STM32单片机开拓用起来很舒畅,开拓周期也快。
然后一个新产品就换成了STM32,等搭建好开拓环境往后准备看芯片外设怎么用起来的时候,创造一脸懵逼,怎么跟51单片机的程序架构完备不一样?
为了不在老大面前暴露自己的技能水平,我偷偷在某宝上买了一个STM32的开拓板。
那个时候还不带视频教程,只是带了每个外设的利用例程。
我性情也比较暴躁,那些数据手册都看不下去,我直接复制例程里面的程序到我的工程里面先看看效果。
中间也踩了很多坑,比如说直接复制过来编译总是会报错,多数都是头文件没整好。
一番倒腾之后,例程终于能跑起来了,那么接下来我的学习技巧是:
1. 举一反三
便是看到例程效果往后,我会考试测验着去改这个例程的外设配置。
比如说例程是掌握PA1引脚的灯闪烁,那我会改成PB2,PC2或者其他测试下。
比如说例程定时器1中断是10ms,那我换一个定时器2中断20ms,这样去考试测验。
2. 会用就行
当你有系统学习stm32想法的时候,注定就要走很多弯路。
单片机只是一个工具而已,我们只要学会利用它就可以了。
我们学习必须有明确目的,我们目的便是通过单片机做产品产生代价。
把产品用到的外设都能够跑起来,并且知道改哪里是修正什么参数的时候就够了。
后续你随着你履历的增加,你对stm32的理解也会越来越深,很多曾经的问题也会迎刃而解。
如果你照着例程都不会用的话,那大概率是你没学习过51直接跳到STM32,或者没用51做过一些小项目。
这个时候与其去世磕,还不如花点韶光回去把51单片机系统学一遍更快。
二、进阶
学会外设利用往后啊,接下来便是进阶阶段,大多数人在这个阶段提升是最慢的,紧张有几点缘故原由:
1. 新手打仗不到实际产品开拓,纵然打仗也是打杂,参与不到核心的开拓。
2. 没有人带,履历和产品思维局限在自己的认知里。
3. 市情上教程都是开拓板多,真正靠近实际产品的学习板非常少。
以是很多新手,特殊是应届生随意马虎陷入了一个去世循环,打仗不到实际产品开拓,找事情就没上风,找不到事情就更打仗不到实际产品开拓。
对付进阶这块,我在19年随便录制了一套视频,操持只是录出来玩一下的。
内容紧张手把手教你写一个轻量级的韶光片轮训操作系统,也可以理解成是一个程序架构。
在这个架构的根本上,我供应了在产品开拓当中,常常会碰到的一些痛点办理方法,比如说。
1.如果一个产品有10个乃至更多按键须要同时检测短按、短按开释、长按、长按开释动作的时候,代码怎么写可扩展性更强?
2. 如果有10个乃至100个LED灯,要怎么实现每个灯独立的效果,比如说慢闪、快闪、隔3快闪2次,隔5秒快闪1次等等。
3.做物联网网关时会实时跟做事器进行心跳监测,在如此高频和数据量大的情形下,怎么担保数据不丢包。
那办理这些问题所涉及到的技能点有回调函数、任务调度、行列步队算法等等,如果全部吃透并且加以优化,足以写出可移植性和可扩展性非常强的程序。
这个程序架构是开源供应给大家的,包括视频教程+源码+工具。
须要的大家可以找无际单片机编程获取,大佬就别来了,帮不了你。
这套架构算是我半个职业生涯的精华总结,如果没一定产品开拓履历或许看不懂,但是值得你收藏吃灰,当你真正碰到那些问题后,再回过分来看,你会愉快的像个小孩!