天天看点

先学STM8,还是先学STM32?

先学STM8,还是先学STM32?

《正文开始》

声明:本人是偏软件的,所以以下给出的分享是偏软件的角度。

只想看总结的话就跳到最后!

    写这篇文章的灵感来自于因为最近全球芯片紧缺,公司很多产品的芯片都拿不到,没的办法,只能启用国产的,这就涉及到底层移植的工作,去年12月到现在,我一直在弄移植老产品到国产芯片上,目前还在移植,已经5个项目了,这个工作难就难在底层的配置,那跟今天的问题有什么关系?往下看!

    首先不管先学哪个,你最终的目的肯定不是仅仅局限于STM,而是往后市场上千万芯片中被你老板选中的那款芯片,换句话说,我们学的是开发一款陌生芯片的能力!

不管stm8还是stm32还是其他的芯片,下面是我给的几点建议:

《一》

训练自己快速获取芯片寄存器功能的能力!

    这个建议从STM8或者8位单片机开始,因为仅仅从位数上来看,32位和8位的区别只是寄存器多了24位,所以从学习的角度来讲,我建议从8位开始,寄存器少好配置,而8位到32位只是寄存器位置多了;

    我就是从STM8开始的,当时我师父不让我用库函数写代码,必须让我裸写寄存器配置,就这样我把stm8的各模块配置了一遍并且实现了功能,之后我师父再也没管过我了;现在回想,我现在移植公司的项目应该得益于当时对寄存器的深度理解和配置,因为现在32位看来也就那么回事!

《二》

多阅读别人优秀的代码,并写成自己的代码模块

不管是开发什么芯片,都要学习优秀人的代码,尤其那些模块化度极高的代码,改个函数名就变成自己的,那就你的技术积累了!我现在看到别人优秀的代码,我会自己写一遍,并且存为自己的代码,毕竟改个函数名称就是我的了,哈哈!以后你去了大公司倒是不用怕,一般有自己的代码标准库,但是小公司不一定了,都有可能是0代码开发,这个时候如果用上自己的代码库就省了很多时间,老板也会高看你一眼!本人大小公司都呆过,0代码开发也干过,所以深有体会!

《三》

不要局限于网上的快速教程,争取上项目

    网上现在各种资料很多,但是我告诉你,做项目中遇到问题才能真正提升你的能力,说实话,网上那些点灯之类的教程真的没什么含量,只能算个基础,因为项目中出现点不亮灯这些在我看来是错误导致的,并不是bug,只有那种隐含的问题才是真bug,找bug能提升你对代码逻辑能力以及对整个代码运行的理解;虽然找bug的过程是煎熬的,但是找出的那一刻感觉会当凌绝顶,一览众山小,而且会让你对涉及到的功能模块理解有质的飞跃。所以我这里建议,不管自己会不会,如果想学嵌入式,有拿下项目的机会就上,因为做完项目,我觉得你肯定都会有所收获!

《四》

保持学习!

    这个我就不多说了,现在每个行业都是这样,因为知识更新太快。

《总结》

选STM8也好,还是选STM32也罢,或者其他的芯片,如果是以学习的角度出发,我建议无论如何首先不使用库函数写代码,至于你要是觉得看手册32位寄存器不多那就选32位也可以;