联系方式

    深圳市英瑞尔芯科技有限公司

    电话:

    186 6591 0262

    E-mail:

    sally@szinter.com.cn

    地址:

    深圳市福田区振华路现代之窗A座7B

放弃51单片机,直接学STM32的开发会有什么严重的问题么?

发布时间:2021/12/30 22:32:00

来源:http://www.szinter.com.cn/news746900.html

近期我的Time Line上又出現了这个问题,看过下问题日志,2014年2月建立的。我就是挖墓解题了哈~为什么呢?是由于感觉,这类问题确实挺有探讨使用价值的。

我觉得,针对「不学51立即用STM32开发设计」这个问题,还得看一个哲学基本问题:「你是谁呀?」

如果你是电子器件类技术专业的学员,未来要用单片机/内嵌式维持生计的

假如你归属于这类,51单片机是可以做为基础学习的!缘故有几个方面:

其一,51是有关大学的专业必备课程内容,实际上是由于绝大多数的大学老师只能51了;

其二,51书本多材料多,同第一条一样是由于一些历史时间缘故;

其三,51苍蝇再小五脏俱全,用于学习是非常好的;一样, ** R单片机或是STM8等都能够用于新手入门,但51或是太經典太大众了;

其四,单片机以不变应万变,学通51也便会用别的单片机了(实际上这是一个工作经验的问题)。

许多回答者全是在三、四点上讲了许多关键点化。我下面也略微写一点:

实际上无论用哪一款单片机,片内資源全是相似的:GPIO、计时器Timer和终断、通讯类UART/IIC/SPI、ADC/DAC等,这种資源即使换了一个单片机也会十分熟悉。随后是外接设备,实际上这一部分和51不相干了:LED、LCD、数码显示管、各种各样感应器这些,这种資源如果你在51服务平台学习培训过以后,在别的地区应用也是一样的;最终单片机开发设计和debug的工作能力,我认为这和工作经验有点儿关联了,这儿的经历并不是浮在水中上那类读取一下API的工作工作经验,反而是深层次了解单片机基本原理的工作经验。我之前玩51玩得贼溜,之后一接任STM32,几乎总在GPIO上犯错误!(STM32的GPIO必须复位和设置导出输出而STC51不用)随后有没有什么中断向量表啊,Flash的读写能力(先开启再擦掉最终载入)啊哪些的,玩51的过程中可没了解过那么多!

因而,觉得自身玩51玩得相似的情况下,就没必要在51上再次科学研究了,可以踏入STM32的路面。那即然最终都需要上STM,为啥或是强烈推荐51做为基础学习呢?由于51单片机屏蔽掉许多高級关键点却也充足全方位,如同我前边第三点:苍蝇再小五脏俱全。把麻雀鸟科学研究透了再看别的飞禽不全是一个鸟样吗?只不过是这只鸟嘴长那只鸟脚内长嘛。

假如你仅仅业余组发烧友,想要做点东西自身玩

例如我的提问的状况很有可能便是归属于这一类。而一切都是有多面性的,我这里给的提议便是:不学51是彻底没有问题的!乃至不用C语言开发设计都就行了!

不用51/STM32,那用哪种呢?两大类服务平台:Arduino和Raspberry pi(树莓派3b)。

Arduino只要学习培训一点点C语言就可以玩各种各样硬件配置,如果有编程基础那麼入门就十分快了!比照初学者应用51照亮一个LED灯很有可能要大半天時间,而Arduino很有可能只必须五分钟?为什么呢?一个因素是Arduino服务平台把能封装形式的都封装好啦!开发人员只要读取相对应的插口就可以,而应用51或STM32的原厂装配的IDE很有可能还必须搜索大半天材料。

随后是树莓派3b,树莓派早已算不上是单片机开发设计了而应当分类于Linux应用程序开发了。不限定于C语言,Python、JavaScript、Lua、PHP等脚本语言都能够用。

那前边所讲的不用C语言开发设计是指在树莓派3b上开发设计吗?毫无疑问并不是了!针对各种微处理器早已有脚本语言逐渐涉足了,例如MircoPython。MircoPython便是可运作在单片机上的Python3脚本语言,可以用Python对单片机开展一些实际操作这些。自然也有尤其self-important(“一切可以应用JavaScript来撰写的运用,最后会由JavaScript撰写。”)的JavaScript也是有相似的服务平台Espruino。

如果是做为一个Web技术工程师,能用Python或JS开展单片机开发设计干什么非得用C语言呢?是吧?仅仅做为一种兴趣爱好平常随便玩玩而已,确实没需要再去学习51或STM32单片机的C语言开发设计, 并且MicroPython和Espruino都适用STM32了。

可是!一切一个电子专业出生的人都应当能意识到!像这种微处理器脚本语言服务平台,自身应该有较大的局限!最先是特性问题,在单片机上能脚本语言毫无疑问要有一个脚本制作在线解析,这肯定是用C语言编辑的了,那麼C语言运作脚本制作在线解析,脚本制作在线解析运作客户编码,最终出去的实际效果毫无疑问慢了许多!自然假如单片机特性充足很有可能看不出来哪些。随后便是插口问题。由于我们都是用代码来操纵单片机,假如最底层在线解析沒有把一些存储器的配备引过来,大家就无法做一些事儿,例如假如最底层在线解析不给予休眠状态插口,大家就无法对单片机开展休眠状态,那么就无法更功耗低运作了。最终,便是限制木板造成的费用问题,现阶段看来,全部的脚本语言毫无疑问无法都适用所有微处理器,尤其是更低配备的微处理器,中低端单片机有一个优势便是成本费便宜:能用STM32开展LED流水灯操纵就没必要用树莓派3b,能用51单片机就没必要用STM32,能用555时基电路就没必要上51单片机了,能用分立元件就没必要用集成ic!(皮)

那么就应当排斥这类东西吗?说实话我心中是有点儿排斥的,我抵触不意味着我拒绝掌握,之后简单玩了这种东西,觉得开发设计确实不必太便捷了!一下子就能得到一个自身要想产品原型,随后屁颠屁颠地去分享给别人看,接到很多钦佩的星星眼。但是!假如要再次深层次开发设计乃至准备作出可以用的商品,会感觉到十分心有余而力不足。

因此,在我眼里这类东西和Arduino及树莓派3b一样,都仅仅「小玩具」罢了。我的开发设计标准或是,能用原厂装配的IDE的就果断不用第三方IDE,能用C语言的就不了脚本语言。

当然,上边这一节是「不学51单片机立即学STM32」这话题讨论衍化出去的「单片机用脚本语言开发设计怎么样」,实际上都偏向我觉得表述的一个中心思想:浮在表层的学习是触碰不上关键的东西的,触碰不上关键专业知识而累积出来的这些工作经验,换一个自然环境就懵懵懂懂不明就里。尽管全是应用JavaScript语言表达,但还真感觉前面专业知识和Espruino平台开发所需知识是彻底一样的?

针对我的提问的状况(不清楚现阶段是什么情况了),总体目标是想要做自均衡小轿车或是四轴飞行器那样好玩儿的东西,或有相近状况的阅读者,那麼我们建议便是:在有一定的单片机发基本以后,上淘宝网选购相应的学习培训模块,对于这一单片机发基本,针对业余组发烧友而言是以51逐渐或是从STM32逐渐,问题确实并不大。

相关标签: