新闻  |   论坛  |   博客  |   在线研讨会
直接跳过51单片机学STM32,会有哪些问题?
美男子玩编程 | 2024-10-23 13:26:27    阅读:220   发布文章

来源于小伙伴提问:



下面是我的一些看法。


放弃51直接学STM32完全可行,甚至可能更适合你。


STM32能满足你做酷炫项目的需求,开发门槛也没有想象中高。


至于电路设计和PCB方面的学习曲线,虽然略有挑战,但通过资源丰富的在线教程和工具,你可以快速上手。


1


跳过51直接学STM32的问题?

首先,51单片机(8051架构)是个“老前辈”,很多人从它开始学,因为它简单、成本低、资源丰富。但是它的性能和功能的确过时了,尤其是在如今需要更高性能、更多外设支持的项目里,它的局限性很明显。


STM32属于ARM Cortex-M系列,功能强大、功耗低、外设丰富,支持很多你感兴趣的特性,比如无线通信、传感器接口、实时数据处理等。


从51直接转STM32,你可能会遇到以下问题:

  • 开发环境的复杂度增加:STM32的开发环境和工具链(如STM32CubeMX、Keil等)比51要复杂一些,不过有很多资源可以帮你快速上手。而且,很多代码配置可以自动生成,比你手动写寄存器操作要容易得多。

  • 资源和学习曲线:STM32有更多的外设、更多的中断、更复杂的时钟系统,所以一开始你可能会感到头大,但因为你已经对C语言有一定了解,所以习惯了之后,你会发现STM32能帮你轻松应对各种挑战。

  • 跳过汇编:虽然你说汇编不会,其实很多STM32开发中并不需要深入了解汇编,大部分C语言就够用了。很多库和框架都为你封装好了底层的东西,直接用C写高层逻辑就行。


2


为什么STM32适合你?

STM32能更好地支持你“玩”那些有意思的东西。


比如你提到的:

  • 自平衡小车、飞行器:STM32有强大的定时器、PWM输出、ADC/DAC等硬件功能,可以轻松处理电机控制和传感器输入。

  • 无线通信、Wi-Fi、蓝牙等功能:STM32可以用外部模块进行Wi-Fi和蓝牙的通信,而像ESP32这种芯片直接集成了Wi-Fi和蓝牙功能,可能对你这种项目更合适。

  • 图像处理、红外线感应:STM32能处理复杂的传感器输入,处理速度比51要高得多,这对实时的控制和数据处理至关重要。


3


额外疑问回答

STM32学习推荐

开发板:STM32F103(入门经典款)、STM32F4(更高性能,适合复杂应用),或者试试STM32 Nucleo开发板,兼容Arduino扩展板,适合从简单项目入手。


教程推荐:看一些YouTube教程或者B站上的STM32入门课程。可以从正点原子、野火的教学资料入手,他们都有详细的硬件和软件讲解。


画板、焊接、PCB流程

如果你要自己画板和做硬件开发,得学点模拟电路和数字电路。可以参考《电子工程师基础教程》和《电路基础》这类书籍。像你提到的PCB设计,确实是你设计好电路图后,通过像EasyEDA、Altium Designer之类的工具画出PCB,然后可以找厂家做板子,像JLCPCB等网站很方便。


至于焊接,你需要学点焊接基础,学会用烙铁手工焊接简单的元件,或者直接把设计好的PCB送去焊接厂做SMT贴片。


多久能达到熟练?

学习速度因人而异,但你有编程基础,这是一大优势。大概半年到一年你就能做一些简单的自制硬件项目,比如自平衡小车或传感器的集成。


如果想完全掌握从设计电路到实现复杂功能,可能需要更长时间,比如2年左右能熟练掌握电路设计、PCB制作和固件编程。


收入问题

嵌入式开发行业的薪资差距较大,初级工程师(刚转行或新手)月薪大概在8K-12K人民币,而熟练的嵌入式开发者可以拿到15K-25K人民币甚至更多。


如果你有了这方面经验,不仅能做自己感兴趣的项目,还能进入物联网、智能硬件等高薪行业。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客