你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】学习STM32的理由

[复制链接]
STMCU小助手 发布时间:2022-1-7 20:11
这是一篇关于嵌入式入门的文章,因为我在进入嵌入式这个领域之前,也是遇到过非常多非常多的困难,所以呢,希望写下这篇文章,让大家看看少走弯路。
3 q& G" S' q5 T$ ]. K* V! k        首先,我打算先列举一下大家问得最多的几个问题,然后我们一起由问题切入进行一些讨论。
) I& T5 j" v9 c1 v问题1:我是学单片机好还是直接学STM32好???
, j! F5 N; o* Z" k% V$ a, q问题2:STM32如何才能快速入门?& D* Y/ D) M1 b  B0 c
问题3:为什么是STM32呢?为什么不是ARM9,ARM11呢?
: S  o6 _# Z' F6 v$ S下面我将逐个答复) q0 V& R( P5 v8 D* E8 b! {& W3 d
首先问题1:我是单片机好还是直接学STM32好呢?
7 i2 L: @* r- Z9 d( i答:首先我们谈下目的,你学习的最终目的是能够开发产品或者成为项目经理;而目前市场上的单片机都基本用C语言了,用汇编进行开发的项目已经非常少了7 h! V$ A6 V3 {. g; h% u: W/ `( C5 d, K
在硬件接口这个环节上都一样:学51单片机和学STM32都是一样的,主要看其市场上的资料是不是足够充分,都是调用硬件的接口,控制I/O,完成相应的功能
: O0 Z& n# N. b0 Z( w/ ]在软件这个环节上,STM32要强过51单片机:为什么这么说呢?学STM32它自带一个官方的库,而这个库的源代码是开放的;而51单片机却没有,也就说,当你做一个具体项目的时候,用STM32开发项目速度会比用51单片机要轻松快捷,方便,并且BUG也少.6 Z# y* ?+ e/ {2 B
ST的这个库专门是由ST官方团队打造的,是经过详细认真测试过的,例如:你要做处理器支持USB的U盘功能,对51来说,你可能需要在网上去找这样一个驱动,然后移植到51单片机上,这样的缺点是:移植本身就比较累,比较麻烦,并可能有些代码不一定经过验证了的,很难保证没有BUG;而STM32是官方推荐的库源代码,这些功能早就有了,所以用STM32开发项目做起来非常的轻松,愉快,放心,BUG也少。
/ o) g; N0 n+ l$ C! k7 }' R# Z5 j从选型方面考虑:STM32的性价比与单片机相比,虽说单片机很便宜了,一般市场上就5块钱左右,而STM32最便宜的是10元多一点,但是如果比性价比,STM32还是很要强过51单片机很多,为什么呢?因为首先STM32是72MHZ的主频,而51单片机是10多M,随着未来产品功能增多了,要求越来越高,可能51单片机的速度和性能就满足不了需求,而STM32足够强劲的主频,可以延缓这个问题,使得您的产品周期生命得到延长,而且你有其他新需求也可以灵活增加上来,因为STM32完全有能力负担得起。
/ g( Q8 a( v9 l& \$ a& H7 E# g6 |+ o8 L# b! T: @) v  b6 N% \4 T
问题2:STM32如何才能快速入门?
* p, v$ P' F  P7 d3 q9 Y答:首先就是最好具备基本的电子基础,如果您只有纯软件基础,那就应该打扎实C语言基础,然后弄一块开发板,边学边补充硬件电子方面的知识,因为软件背景去理论的学硬件,那是非常枯燥的事情,而且效果也不一定理想;那么此时你就需要一款比较的板子,板子大与小,功能多与少都不是那么重要,这里最重要的就是要资料丰富,资料丰富,才是最好的;我当时就从同事那里弄了一块STM32神舟系列的板子,大概花了1,2个星期就正式入门了。以下是我摘抄的关于那个板子的一些特点,大家可以看看:
" o# m! x5 P+ |+ ^" N% Q; x+ N关于STM32神舟开发板的特点有哪些呢?????; o, x: P* D7 y0 c1 }  B
特点1:STM32神舟系列的每款开发板都有一个非常详细的几百页的说明手册。有很多爱好者反映,买到的开发板没有手册或手册不全,手册不详细,拿到手后没有什么用,无从下手,那么您可以考虑STM32神舟系列的开发板,其中神舟IV号的手册有将近700多页之多,无论还是从原理还是从代码都是非常值得阅读的资料书籍。    g+ @1 w+ a5 w. n" g
特点2:开发板所带的例程代码非常好,易懂和方便移植。很多开发板的代码写得很难阅读,不规范,有的甚至是用寄存器实现的代码,可读性非常差,并且不容易重用到新的实际项目中,而STM32神舟系列的开发板,全部用ST的专用库实现,库代码全部开源,库即是将底层寄存器部分代码全部封装成函数,融入了软件设计的架构理念,想跟踪到硬件实现的驱动底层,就跟进对应的函数即可看到一切原始代码,所以您可以有选择的想看寄存器版本就看寄存器版本,想看函数库版本就有函数库版本,无论对实际项目也好,针对学习也好,两全其美!!!+ o7 c' M8 x# V. {3 _. ?* Y
特点3:神舟系列板子因为系列全,所以技术支持以及技术进一步拓展空间大。许多单独的开发板技术支持根本不行,有的就算是技术支持不错,但是你想更深入一步去学习,就很难了;而成一个完整系列的STM32神舟系列是值考虑和选择的,因为该系列包含了103RBT,VCT,VET,ZET,以及107VCT多个系列的开发板,无论你先学难,再拖展知识面,还是怎么样都好,绝对不怕资料少!没资料!!!而且各个系列之间还可以相互借鉴,相互依存,各个设计的高手非常多,大家一起相互交流,产生更多更新碰撞和资料。
0 @( K- |! p* n3 @2 t9 h( `特点4:硬件资料丰富。硬件资源以及相关资料都比同类开发板要多很多,因为该系列是一个组织在维护和发展,并不是单独的个人爱好所设计的板子,这个组织走在最前沿,不断收集行业内的知识,在神舟系列上进行验证和实现,所以资料也会越来越多。
- e; r7 \" K0 {  G% f: C+ j特点5:板子的网络接口特别加强。许多STM32开发板没有考虑到网口这块以及无线2.4G(WIFI)和315M通信的例程,随着嵌入式设备在网络方面日益普及,以太网以及无线网都是嵌入式设备中必不可少的一个环节,就算有的嵌入式设备不需要网口,但是做为提供开发板的设计,不可不考虑加强网口这块的例程,代码,讲解,为各个开发爱好者做一个提前准备和设计,而这些接口神舟系列有已经直接运行的代码以及详细的讲解,大家获得相关资料,相互参考一下。/ j" ^& H" G! w( R1 O- r

+ Z: d% B; J: \$ G; ?
/ Z$ y+ H2 P0 V问题3:为什么是STM32呢?为什么不是ARM9,ARM11呢?
* F! P$ @0 C! g$ S  N$ b+ ?9 w1 I答:这里有个误区,很多同学如果就仅仅希望入门嵌入式,那就尽量不要选择ARM9和ARM11,为什么呢?因为诱惑太多了,因为你一旦选择ARM9或ARM11,那么这个平台就仅仅linux和wince等操作系统内核,驱动,应用,各种协议,硬件原理图,等都有够学一年半载了,没这点时间,你无法完全掌握,所以并不适合入门,周期太长,难度相对来说较大。
- m6 v, K- \& V5 X  ~( r9 M        入门最好选择主频低一点的处理器,一切都是先掌握好原理,弄明白,弄透彻了,一切就都好办!所以单片机中,STM32是目前最最主流的芯片,加上目前STM32的资料非常的多,所以,最好还是推荐STM32的开发板做为入门级的板子,学会之后,即可自己独立开发出各种产品,STM32官方提供的开源代码库也是非常好用,将底层的各种汇编,管脚定义都封装成了各个功能函数,开发起来非常方便,快捷!/ S2 r( m: s- i  O/ N" ~
收藏 评论0 发布时间:2022-1-7 20:11

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版