找回密码
 注册
关于网站域名变更的通知
查看: 363|回复: 2
打印 上一主题 下一主题

学习STM32的理由

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-9-11 11:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

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

, L+ l8 v( ?$ c6 P. F1 `9 j- H问题3:为什么是STM32呢?为什么不是ARM9,ARM11呢?6 M  h& `: v8 P1 ]1 z
答:这里有个误区,很多同学如果就仅仅希望入门嵌入式,那就尽量不要选择ARM9和ARM11,为什么呢?因为诱惑太多了,因为你一旦选择ARM9或ARM11,那么这个平台就仅仅linux和wince等操作系统内核,驱动,应用,各种协议,硬件原理图,等都有够学一年半载了,没这点时间,你无法完全掌握,所以并不适合入门,周期太长,难度相对来说较大。0 X2 l( Q) [5 j5 B) M& M
        入门最好选择主频低一点的处理器,一切都是先掌握好原理,弄明白,弄透彻了,一切就都好办!所以单片机中,STM32是目前最最主流的芯片,加上目前STM32的资料非常的多,所以,最好还是推荐STM32的开发板做为入门级的板子,学会之后,即可自己独立开发出各种产品,STM32官方提供的开源代码库也是非常好用,将底层的各种汇编,管脚定义都封装成了各个功能函数,开发起来非常方便,快捷!
0 c' P1 K' K, ^; u* H" F8 u
. ?/ ]6 G7 A5 s

该用户从未签到

2#
发表于 2021-9-13 09:17 | 只看该作者
51单片机是入门

点评

STM32可以带操作系统  详情 回复 发表于 2021-9-13 10:27

该用户从未签到

3#
发表于 2021-9-13 10:27 | 只看该作者
行者~ABC 发表于 2021-9-13 09:17; b8 I% ]& m) y- k6 ?4 W
51单片机是入门

% N* w+ f+ ]9 r) F5 rSTM32可以带操作系统
- a2 {. v4 s1 o
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-11 21:55 , Processed in 0.125000 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表