你点击蓝字关注,回复“入门资料”获取单片机入门到高级开挂教程
文 | 无际(微信:603311638)
全文约1555字,阅读大约需要 5 分钟
STM32我用了近10年了,用它做过的项目至少也有10几个。
可以说是我用过单片机里,最省心最好用的,不会有乱七八糟的问题。
我感觉STM32这几年这么热门,开发板至少占了一半功劳。
不过,本质问题还是芯片也受到了市场和企业认可,毕竟商业都是逐利的。
下面聊下STM32到底有哪些优点?
1.易于学习和使用
STM32很早之前就有了,资料各方面都很丰富,再加上市面上开发板和教程的加持,导致大家学习STM32的门槛和成本都大大降低。
我觉得ST从开始的定位就很成功,推出固件库,让工程师直接调库就能把单片机用起来,免去繁琐的寄存器配置流程,极大缩短了产品开发周期。
印象中,ST是第一个走这种开发模式的,我第一次接触32位机是nxp的单片机,需要自己配置寄存器使用外设,光是这个环节都浪费了大量时间。
虽然STM32外设多,比较复杂,但是用熟了以后感觉比51还简单。
2.强大的处理能力
STM32单片机的内核基于ARM Cortex-M,具有高性能、低功耗的特点,搭载高速的处理器和内存,能够轻松处理复杂的应用。
3.丰富的外设接口
STM32 单片机支持多种外设接口和通信协议,例如 USB、CAN、SPI、I2C 等,方便与其他设备进行通信。
4.易于调试和测试
STM32 单片机配备了多种调试和测试接口,如 SWD 和 JTAG 接口,方便开发者进行调试和测试,这些调试工具都很便宜,有些单片机下载和仿真器都上千。
还有就是STM32很多都是用keil开发工具,虽然现在可能有更方便好用的,但是对于老一辈的工程师来说,还是Keil最亲切顺手。
之前用过一些单片机用eclipse配合插件的方式去开发,光搭建开发环境都搞死人。
5.更丰富的开发生态
STM32有许多开源的开发工具和库,如CMSIS、HAL库等,可以加快开发时间和减少开发成本。
6.广泛的应用领域
STM32 单片机广泛应用于各种领域,如消费电子、工业控制、汽车电子、医疗设备等等,具有良好的市场前景和潜力。
还有一点很多工程师可能忽略了,就是ST官网有提供不同行业的整体解决方案。
从单片机到外围电路的芯片,官网都有建议的选型,不过都是推他们自家的产品。如果你确定用ST的单片机,但是不知道选哪个型号的话,可以参考这个。STM32单片机的早期的价格相对较低,能够提供高性价比的解决方案,适合各种应用场景,不过后面因为一些原因价格大幅上涨,现在也在慢慢回落。STM32系列微控制器的封装非常丰富,适用于不同的应用需求和制造工艺。LQFP (Low profile Quad Flat Package): 该封装常见于STM32的低端型号,引脚比较少,适合使用手工焊接和小尺寸的PCB。BGA (Ball Grid Array): 该封装采用球形引脚排列方式,具有高密度和可靠性,适合高端应用和小尺寸PCB。TQFP (Thin Quad Flat Package): 该封装采用扁平引脚排列方式,相对于LQFP来说体积更小、高度更低。LFBGA (Low profile Fine-pitch Ball Grid Array): 该封装采用较小的引脚间距,适合高密度应用和小尺寸PCB。此外,STM32还提供了QFP、LGA、WLCSP、UFQFPN等多种封装形式,可以满足不同应用需求。在选择封装类型时,需要根据具体的应用场景、生产工艺和成本等综合因素进行考虑。下面聊下,我们在产品研发前,单片机及周边芯片方案选型时要考虑的问题:产品功能要求:需要根据硬件工程师设计的电路来规划需要用到的单片机外设,然后对比你选择的单片机资源是否满足,比如时钟频率,Flash,RAM,SPI,IIC,USART,PWM,ADC等等。尺寸要求:根据产品尺寸选择单片机的封装,产品尺寸要求越小,封装也要选小的。功耗要求:如果产品平时是电池供电,那就要选择低功耗系列的单片机,比如STM32L系列。成本要求:在满足产品功能的前提下选择最便宜的芯片。开发周期要求:选择时尽量选择资料/教程丰富的单片机,能快速上手意味着开发周期能缩短。交货周期要求:如果产品后期量大,需要考虑到代理商/原厂交货周期的问题。综合以上几点,你会发现,STM32在早期满足了很多点,并且性价比高。最近有粉丝跟我要单片机的资料,我特意花一个月时间,总结了我10年产品研发经验,收集了这份史上最良心、最硬核、最实用的「单片机入门到高级教程+工具包+22个热门项目」,分享给大家。除此以外,再含泪分享我压箱底的22个热门开源项目,包含源码+原理图+PCB+说明文档,让你迅速进阶成高手!大家想要上面「单片机入门到高级教程工具包 」,可以加无际微信:下面是更多无际原创的个人成长经历、行业经验、技术干货。1.电子工程师是怎样的成长之路?10年5000字总结4.C语言开发单片机为什么大多数都采用全局变量的形式?6.c语言回调函数的使用及实际作用详解
7.手把手教你c语言队列实现代码,通俗易懂超详细!
8.c语言指针用法详解,通俗易懂超详细!