电子产业一站式赋能平台

PCB联盟网

搜索
查看: 170|回复: 0
收起左侧

直接跳过51单片机学STM32,会有哪些问题?

[复制链接]

1001

主题

1001

帖子

8807

积分

高级会员

Rank: 5Rank: 5

积分
8807
发表于 2024-10-10 08:03:00 | 显示全部楼层 |阅读模式

pxz3wqzgtei64080025138.gif

pxz3wqzgtei64080025138.gif

) x# o' [0 Y. s' n% s点击上方蓝色字体,关注我们
5 @$ O. }* v: X3 D4 _  Q1 s1 K来源于小伙伴提问:7 K* G* w0 H; j; g8 O! p

2 U, A' u1 I" ]  K, h3 o# w! Z1 }: \* l5 H5 |

wn3hlhaodum64080025238.png

wn3hlhaodum64080025238.png
8 U. v3 g8 f* {: N3 T0 P  t) B
; b. v& l: R, G; d9 J  j/ H( Z
下面是我的一些看法。7 b7 |  G* W- N8 n) n! Z" l) O3 L
" t' F' a' ^! x
放弃51直接学STM32完全可行,甚至可能更适合你。
0 J. L0 H" v/ y/ i) c* j; A5 M9 @% P5 X+ |
STM32能满足你做酷炫项目的需求,开发门槛也没有想象中高。
! v# \" @* ?+ N2 p
0 o9 c2 q2 ]6 q; S4 F7 @至于电路设计和PCB方面的学习曲线,虽然略有挑战,但通过资源丰富的在线教程和工具,你可以快速上手。
  n1 @) b, J  x' ]1
8 w4 F2 u7 x. `( s  x  i$ y8 B跳过51直接学STM32的问题?
4 n% x8 }, j/ I1 i. _0 A首先,51单片机(8051架构)是个“老前辈”,很多人从它开始学,因为它简单、成本低、资源丰富。但是它的性能和功能的确过时了,尤其是在如今需要更高性能、更多外设支持的项目里,它的局限性很明显。& k4 x) @8 ]2 ?& i0 s

3 @! t, l8 X' n9 A6 ]" W# SSTM32属于ARM Cortex-M系列,功能强大、功耗低、外设丰富,支持很多你感兴趣的特性,比如无线通信、传感器接口、实时数据处理等。8 f) a& x# H* p, c1 Z/ N& Z
, O: Q. P: v4 U
从51直接转STM32,你可能会遇到以下问题:
+ s+ P9 q5 C) X+ G5 ?5 ~
  • 开发环境的复杂度增加:STM32的开发环境和工具链(如STM32CubeMX、Keil等)比51要复杂一些,不过有很多资源可以帮你快速上手。而且,很多代码配置可以自动生成,比你手动写寄存器操作要容易得多。
  • 资源和学习曲线:STM32有更多的外设、更多的中断、更复杂的时钟系统,所以一开始你可能会感到头大,但因为你已经对C语言有一定了解,所以习惯了之后,你会发现STM32能帮你轻松应对各种挑战。
  • 跳过汇编:虽然你说汇编不会,其实很多STM32开发中并不需要深入了解汇编,大部分C语言就够用了。很多库和框架都为你封装好了底层的东西,直接用C写高层逻辑就行。
    7 _3 \! D, H/ ]- e5 p2 F' r/ Q

    * v6 ?7 n( W1 j6 B# g& H2/ z4 l$ Y8 Y+ q; S8 ~
    为什么STM32适合你?
    % n2 x% ?6 K  X9 R( tSTM32能更好地支持你“玩”那些有意思的东西。) j% h7 N$ |, n. T$ Q$ n

    ; d2 m  I9 ^( ^5 ]比如你提到的:
    " ]  {6 e1 R/ M: _, Q
  • 自平衡小车、飞行器:STM32有强大的定时器、PWM输出、ADC/DAC等硬件功能,可以轻松处理电机控制和传感器输入。
  • 无线通信、Wi-Fi、蓝牙等功能:STM32可以用外部模块进行Wi-Fi和蓝牙的通信,而像ESP32这种芯片直接集成了Wi-Fi和蓝牙功能,可能对你这种项目更合适。
  • 图像处理、红外线感应:STM32能处理复杂的传感器输入,处理速度比51要高得多,这对实时的控制和数据处理至关重要。
    ' X/ ?. y6 z* \8 V5 R; p7 d" Y
    $ P) T9 i4 ^8 G9 _
    3
    ! Y0 F+ z* ]; P4 q: b4 Y额外疑问回答; K) k; s* ^  |& I# q7 B
    STM32学习推荐
    0 T* o- B6 Y) ^开发板:STM32F103(入门经典款)、STM32F4(更高性能,适合复杂应用),或者试试STM32 Nucleo开发板,兼容Arduino扩展板,适合从简单项目入手。
    " r( F+ h% J8 D! j8 G8 p$ D: I6 x- d' L2 T2 h0 t1 J* g9 Q
    教程推荐:看一些YouTube教程或者B站上的STM32入门课程。可以从正点原子、野火的教学资料入手,他们都有详细的硬件和软件讲解。
    ; F( j& J0 ?/ ^" w/ y$ w
    ! T: |) q9 P! q) m! |) v& K画板、焊接、PCB流程
    2 ^9 N! k- J  X2 U& g5 m如果你要自己画板和做硬件开发,得学点模拟电路和数字电路。可以参考《电子工程师基础教程》和《电路基础》这类书籍。像你提到的pcb设计,确实是你设计好电路图后,通过像EasyEDA、Altium designer之类的工具画出PCB,然后可以找厂家做板子,像JLCPCB等网站很方便。
    $ z9 r* f) w# Y9 m* j3 k# [. K/ J0 h8 G8 S, d( C
    至于焊接,你需要学点焊接基础,学会用烙铁手工焊接简单的元件,或者直接把设计好的PCB送去焊接厂做smt贴片。  m+ t0 @7 I% p5 R  `4 F# i3 e, f

    ; h' c/ w8 M" [1 p5 D* a多久能达到熟练?
    : T" I) t& N" Z, k学习速度因人而异,但你有编程基础,这是一大优势。大概半年到一年你就能做一些简单的自制硬件项目,比如自平衡小车或传感器的集成。
    * s& [! W' d5 e4 @
    4 x6 m+ j6 U- F1 F. }% Y$ A- z1 |如果想完全掌握从设计电路到实现复杂功能,可能需要更长时间,比如2年左右能熟练掌握电路设计、PCB制作和固件编程。! Q7 s9 |7 Z5 s1 `' d, u( b; k

    . d# {3 h, y9 k$ O! r" L5 h. q2 h收入问题
    2 P/ `7 [. j5 e. ]9 x嵌入式开发行业的薪资差距较大,初级工程师(刚转行或新手)月薪大概在8K-12K人民币,而熟练的嵌入式开发者可以拿到15K-25K人民币甚至更多。/ H9 G5 o- t7 j2 i0 U0 @

    0 `! u6 X1 \, J2 y9 ]如果你有了这方面经验,不仅能做自己感兴趣的项目,还能进入物联网、智能硬件等高薪行业。) `5 @8 e4 z8 R, H" ?

    r4pc0w0e24v64080025338.jpg

    r4pc0w0e24v64080025338.jpg
    , ?( X$ e' N, ^$ K. N

    dap03bbrdo064080025438.gif

    dap03bbrdo064080025438.gif
    ) p4 W+ l; K, e& ~4 d, e" j
    点击阅读原文,更精彩~
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表