为什么学习STM32?
先列举一下大家问得最多的几个问题,然后我们一起由问题切入进行一些讨论。
首先问题1:我是单片机好还是直接学STM32好呢?
答:1)首先我们谈下目的,你学习的最终目的是能够开发产品或者成为项目经理;而目前市场上的单片机都基本用C语言了,用汇编进行开发的项目已经非常少了(这里推荐一款STM32开发板:eBox-SPARK开发板,可以让STM32的编程开发变得同Arduino编程一样简单:https://z.elecfans.com/30.html)
3)在软件这个环节上,STM32要强过51单片机:为什么这么说呢?学STM32它自带一个官方的库,而这个库的源代码是开放的;而51单片机却没有,也就说,当你做一个具体项目的时候,用STM32开发项目速度会比用51单片机要轻松快捷,方便,并且BUG也少。
4)ST的这个库专门是由ST官方团队打造的,是经过详细认真测试过的,例如:你要做处理器支持USB的U盘功能,对51来说,你可能需要在网上去找这样一个驱动,然后移植到51单片机上,这样的缺点是:移植本身就比较累,比较麻烦,并可能有些代码不一定经过验证了的,很难保证没有BUG;而STM32是官方推荐的库源代码,这些功能早就有了,所以用STM32开发项目做起来非常的轻松,愉快,放心,BUG也少。
5)从选型方面考虑:STM32的性价比与单片机相比,虽说单片机很便宜了,一般市场上就5块钱左右,而STM32最便宜的是10元多一点,但是如果比性价比,STM32还是很要强过51单片机很多,为什么呢?因为首先STM32是72MHZ的主频,而51单片机是10多M,随着未来产品功能增多了,要求越来越高,可能51单片机的速度和性能就满足不了需求,而STM32足够强劲的主频,可以延缓这个问题,使得您的产品周期生命得到延长,而且你有其他新需求也可以灵活增加上来,因为STM32完全有能力负担得起。
问题2:STM32如何才能快速入门?
答:首先就是最好具备基本的电子基础,如果您只有纯软件基础,那就应该打扎实C语言基础,然后弄一块开发板,边学边补充硬件电子方面的知识。
因为软件背景去理论的学硬件,那是非常枯燥的事情,而且效果也不一定理想;那么此时你就需要一款比较的板子,板子大与小,功能多与少都不是那么重要,这里最重要的就是要资料丰富,资料丰富,才是最好的;我当时就从同事那里弄了一块STM32神舟系列的板子,大概花了1,2个星期就正式入门了。以下是我摘抄的关于那个板子的一些特点,大家可以看看:
特点1:STM32神舟系列的每款开发板都有一个非常详细的几百页的说明手册。有很多爱好者反映,买到的开发板没有手册或手册不全,手册不详细,拿到手后没有什么用,无从下手,那么您可以考虑STM32神舟系列的开发板,其中神舟IV号的手册有将近700多页之多,无论还是从原理还是从代码都是非常值得阅读的资料书籍。
特点2:开发板所带的例程代码非常好,易懂和方便移植。很多开发板的代码写得很难阅读,不规范,有的甚至是用寄存器实现的代码,可读性非常差,并且不容易重用到新的实际项目中,而STM32神舟系列的开发板,全部用ST的专用库实现,库代码全部开源,库即是将底层寄存器部分代码全部封装成函数,融入了软件设计的架构理念,想跟踪到硬件实现的驱动底层,就跟进对应的函数即可看到一切原始代码,所以您可以有选择的想看寄存器版本就看寄存器版本,想看函数库版本就有函数库版本,无论对实际项目也好,针对学习也好,两全其美!!!
特点3:神舟系列板子因为系列全,所以技术支持以及技术进一步拓展空间大。许多单独的开发板技术支持根本不行,有的就算是技术支持不错,但是你想更深入一步去学习,就很难了;而成一个完整系列的STM32神舟系列是值考虑和选择的,因为该系列包含了103RBT,VCT,VET,ZET,以及107VCT,207,4XX系列等多个系列的开发板,无论你先学难,再拖展知识面,还是怎么样都好,绝对不怕资料少!没资料!!!而且各个系列之间还可以相互借鉴,相互依存,各个设计的高手非常多,大家一起相互交流,产生更多更新碰撞和资料。
特点4:硬件资料丰富。硬件资源以及相关资料都比同类开发板要多很多,因为该系列是一个组织在维护和发展,并不是单独的个人爱好所设计的板子,这个组织走在最前沿,不断收集行业内的知识,在神舟系列上进行验证和实现,所以资料也会越来越多。
特点5:板子的网络接口特别加强。许多STM32开发板没有考虑到网口这块以及无线2.4G(WIFI)和315M通信的例程,随着嵌入式设备在网络方面日益普及,以太网以及无线网都是嵌入式设备中必不可少的一个环节,就算有的嵌入式设备不需要网口,但是做为提供开发板的设计,不可不考虑加强网口这块的例程,代码,讲解,为各个开发爱好者做一个提前准备和设计,而这些接口神舟系列有已经直接运行的代码以及详细的讲解,大家获得相关资料,相互参考一下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)