电子产业一站式赋能平台

PCB联盟网

搜索
查看: 15|回复: 0
收起左侧

能详细地讲讲stm32该怎么学吗?

[复制链接]
匿名  发表于 2021-9-28 16:13:00 |阅读模式
你点击蓝字关注,回复“入门资料”获取单片机入门到高级开挂教程
文 | 无际(微信:603311638)
个人原创 | 第 120 篇
全文约1922字,阅读大约需要 10 分钟
昨天写了一篇stm32的,今天再来补一篇。
两篇一起看,才能查缺补漏,哈哈。
现在一说到嵌入式、单片机,很多人想到的可能是STM32。
因为STM32的市场应用实在是太广了,我们在招聘平台随便搜嵌入式/单片机工程师,都要求最好会STM32.



当然,一款单片机的火爆绝对不是空穴来风。
我自己也用STM32开发过很多产品,客观地说确实比大多数单片机用起来要省心。
主要体现在以下几点:
1.ST把复杂的东西封装了起来(寄存器配置),使得我们直接调用固件库就能轻松使用。


2.芯片比较稳定,不会有乱七八糟奇奇怪怪的问题。


3.不同系列兼容性强,固件库通用性强。
到目前为止,我做了开发近10年,现在最喜欢用的单片机依然是STM8/STM32.
但凡用STM32做产品,效率都很高,因为代码框架都是复制粘贴,剩下的就是完成产品功能。
如果你像我这样,自己写了一套通用性比较强的程序架构,至少能缩短30-50%产品代码的开发周期。

Ok,下面来聊聊stm32该怎么学?
这里只分享我亲身经历过,并成功的方法,我能做到的,按照我的方法你也一定可以!
STM32和51单片机不一样,51单片机一般要相对深入地学习。
说白了就是要搞懂如何通过配置寄存器去使用单片机外设的,这对我们理解单片机和一些别的功能芯片都有很大的帮助,比如说LCD驱动芯片、时钟芯片、存储芯片等等。
大多数芯片都是需要配置寄存器去实现芯片特有的功能,我们核心是理解这个,其次就是通过数据手册去看每个寄存器每个位对应什么功能。
而学习STM32则需要一定的技巧,否则你会有走不完的弯路,别人学半个月,你学1年,差距就是这么大!
新手最容易走弯路的有以下几点:
1.深入研究寄存器,以为用寄存器开发就很牛逼
2.看不懂数据手册,就以为学不会
3.以为把STM32的外设都学完才能做产品
4.看得多,实践得少。

学习STM32,我总结出来的核心就4个字:循环渐进
不要一下想把STM32的内部资源吃得透透的,会让你吃不了兜着走。
很多都是通过开发板去学习的,开发板基本上把STM32每个外设资源都利用起来了。
其实很多可能你工作10年也用不上,比如USB、以太网、FSMC、SDIO、CAN。
这些对新手来说也是比较难的,很多如果你没写过一定的代码量理解起来也很困难,在你经验不足的时候学习周期会更长,不划算
而且实际产品开发,跟开发板还是有挺大区别,实际产品需要考虑成本尺寸多因素,同样一个屏驱动,一般产品不会用开发板的方式去做。
我认为前期新手只需要学习以下几个外设就可以了:
GPIO、systick、定时器、NVIC、EXTI、串口、DMA、ADC。
除了外设以外,还需要掌握常用协议:
IIC、SPI、单口通讯。
学完这些,学习STM32的任务也算是完成了,剩下的外设工作/项目需要再针对性学习。
那接下来的任务呢,就是不断通过STM32去做项目,比如说我们带学员做的网关项目。

虽然硬件看起来没什么东西,但是精华都在程序里。
大家如果有兴趣去拆解下大厂做的产品,基本硬件没啥东西,但是功能还挺丰富,这样可以有效降低批量出货的风险,毕竟硬件一出问题分分钟赔到破产。
我们这个主机整个程序分为三大板块:
1.STM32外设
2.自己写程序架构
3.产品功能程序



程序架构是贯穿整个项目的,而不是某个文件的代码,其中涉及到很多考验你编程水平的代码,比如指针、结构体、枚举、队列、回调函数、链表、任务管理等等。
如果通过开发板,我们一般只能学会STM32外设,学不到程序架构、产品思维,更别说提升自己编程水平。
而这些往往才是企业需要的,听到耳朵起茧的项目经验就包含了这几个能力,而不是你会用什么单片机。
所以,很多人虽然把STM32的外设都能用起来了,但是感觉还是什么都没学会?
其实,就是你没把你学的东西落地,没通过它们做出实实在在的东西。
即便做出来了,也感觉不是很完美,感觉很不专业,你写的代码都是你认知水平内的。
想提高,就必须向做得更好的人,更有经验的人学习。
当你真正做过一个中型以上的项目,做过几年开发,你就会发现,单片机屁也不是,就是个工具而已。
随手一个单片机过来你都能得心应手,游刃有余。
现在更是如此,原厂/代理商提供外设例程,提供技术支持,你只需要懂复制粘贴,就能把单片机外设用起来。
最后总结:
新手学会用单片机的外设以后,学习的重点绝对不再是单片机,而是怎么通过这个工具去做项目。
核心的东西,是通过项目练出来的,不要闭门造车,多向大佬看齐。
还有就是,有点赞习惯的,都不会混得太差~^^

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表