TA的每日心情 | 开心 2023-5-15 15:14 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
知乎有人问:: {6 B% A& p4 r, k7 [
$ S& r) i0 c% Z( Y+ I/ P9 mStm32学了好久了,感觉独立做项目还是有力不从心的感觉?4 ~/ o$ S+ k5 f% w% V
从51开始学习,到stm32,目前为止差不服两年的时间了,主要跟着朱友鹏老师的课程学习的,前三季学完了,第四五季是操作系统,还没有开始学习呢,期间原子的课程,野火的课程,模块化的知识点也学习了,跟着课程,开发板板上实验都可以做出来,现在在公司独立做不了东西,只能做一些小模块的,期间也断断续续的学习,又学习PCB的绘制,又了解学习些电路方面的知识,(基础比较差,大专生,自动化专业,学校也没学到什么东西,毕业后自学的都是),不知道该怎么学习了。
8 x# ^8 G. K2 G/ ]: a( ~, a/ l7 }7 K
8 b9 N' G2 c- G3 m0 g; [% }网友Kevin回答:) [. _9 ^6 w' e1 L9 Y
很简单,因为一直以来你学的都是皮毛,没有学到实质。
: X. S+ i7 Y6 X$ n; S- n* {我差不多可以肯定,虽然你学了这么久,但官方手册恐怕你很少看;虽然你学了这么久,但恐怕一直都是在用标准库、HAL库之类,关于寄存器的知识,几乎没有。
+ p5 \& v; A8 t9 S* J& _* F虽说做底层本身确实要复杂一些,底层软件工程师的成长周期确实要长一点。但我始终还是认为,学习是讲究方法的,方法不同,学习效率也就不同。2 y2 m# F. B5 e( t5 K6 A! }/ ?
现在的学习条件比20年前好多了,很多资料尤其STM32的都非常多,但我自己带人的时候始终强调两点:1. 你不能看视频,只能看手册 2. 你不能用HAL库,只能看寄存器版的手册。# }1 o+ f( K6 T) w( f
有些人可能会反驳,现在各个厂家的配置工具都很完善,为什么我不把精力放在应用和算法上,而要放着现成的驱动不用,自己手写呢?我的回答是:你当然可以选择这样,那你就去安心做个应用软件工程师,别来搀和底层。你以后也别来抱怨为什么自己做项目总感到“力不从心”,无法独立完成项目。
$ X9 @6 W- [ i我也是从业快20年了,见过的工程师优秀的差的都有,差的工程师普遍一个特征:算法能力还行,底层了解有限,硬件更是一窍不通。通常做个3、5年始终没做出个味儿来,然后就转行了。) ~8 ?$ g' c6 H' [) ?: f
你既然现在做单片机,就得知道自己今后的发展方向是什么。是当个几年软件工程师,然后转岗去做管理吗??
}" W+ I. |$ _0 P- d7 l有些人会这样选择,当然我也不能说这是错的。但倘若你对你自己的要求高一点的话,你努力的方向则一定是系统架构师。! ~ ?6 ^) ^5 J* M/ ?: `% x8 [
而要成为合格的系统架构师,算法能力只是上层的一小部分,你还得了解单片机底层是如何工作的,甚至还得具备相当程度的硬件知识。 C+ m3 M6 }1 m
而这些底层,之所以被称之为“底层”,是因为它们确实就是整个系统框架里最基础的部分。好比盖大楼,这些就是地基。你地基都没搞明白,往上盖楼心里能有底吗?
0 `3 _; r' ~: N虽然你具体什么情况我不了解,但就我的经验来看,做过几年的软件还对做项目没信心话,多半都是这个原因。正常来说,按我的方法,有个半年到八个月左右,做点简单项目那都没啥问题的。2 ~3 a5 x+ `& a7 q: x- x9 J
当然也确实会有那种资质特别差的,方法也对了,可就是学不会,就是反应比别人慢半拍。这种情况下我就得劝他,好好考虑是不是换份职业算了。当然我不希望你是这种人。/ @4 r. y: G6 z
所以听我的,别再去看什么视频了,认真看手册,认真看寄存器,每一个驱动都自己手写。一开始总归觉得难的,没关系,一点一点做,慢慢做多了,就能串起来了。3 A2 z6 ?- f; M4 p+ T8 p+ j
一旦串起来,你对系统的理解就能上两个档次。, Y2 N( ^4 l) M$ Q' M% q; H
同时,还要学点硬件知识,不是说让你上来就画板子,而是单片机相关的硬件知识,说白了也就是51所有的东西。
2 F% [ U/ q4 C$ X* P不是我瞧不起你,虽然你号称自己学过51,恐怕也就是学点皮毛吧??6 c& R% @$ \# m) ^3 s {
有句讲句,51包含了一切单片机、SOC的所有原理,认真把51学好了,所有的芯片对你来说就都不是问题。9 Y" ?/ U2 w1 O9 k. Z% r
不知道各位怎么看这个问题,欢迎留言讨论~
: T) B& K2 J( ?' q
|
|