你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Stm32学了好久,为什么独立做项目还是有力不从心的感觉?

[复制链接]
gaosmile 发布时间:2020-8-13 21:53
Stm32学了好久了,感觉独立做项目还是有力不从心的感觉?

2 i' u* S, U1 S& ]( [9 P
从51开始学习,到stm32,目前为止差不服两年的时间了,主要跟着朱友鹏老师的课程学习的,前三季学完了,第四五季是操作系统,还没有开始学习呢,期间原子的课程,野火的课程,模块化的知识点也学习了,跟着课程,开发板板上实验都可以做出来,现在在公司独立做不了东西,只能做一些小模块的,期间也断断续续的学习,又学习PCB的绘制,又了解学习些电路方面的知识,(基础比较差,大专生,自动化专业,学校也没学到什么东西,毕业后自学的都是),不知道该怎么学习了。

5 D/ A7 c1 r: r. y
网友Kevin回答:

( m# h/ G9 N+ M
很简单,因为一直以来你学的都是皮毛,没有学到实质。
2 V! X1 @4 A: X1 e9 r% `
我差不多可以肯定,虽然你学了这么久,但官方手册恐怕你很少看;虽然你学了这么久,但恐怕一直都是在用标准库、HAL库之类,关于寄存器的知识,几乎没有。

4 _# W6 r9 _* x; ]; x  n
虽说做底层本身确实要复杂一些,底层软件工程师的成长周期确实要长一点。但我始终还是认为,学习是讲究方法的,方法不同,学习效率也就不同。
# A  Z3 d0 U5 p3 c; m+ L
现在的学习条件比20年前好多了,很多资料尤其STM32的都非常多,但我自己带人的时候始终强调两点:
1. 你不能看视频,只能看手册
2. 你不能用HAL库,只能看寄存器版的手册。

& T; r9 N$ n6 @
有些人可能会反驳,现在各个厂家的配置工具都很完善,为什么我不把精力放在应用和算法上,而要放着现成的驱动不用,自己手写呢?我的回答是:你当然可以选择这样,那你就去安心做个应用软件工程师,别来搀和底层。你以后也别来抱怨为什么自己做项目总感到“力不从心”,无法独立完成项目。

8 i. G9 V# C6 M& Y
我也是从业快20年了,见过的工程师优秀的差的都有,差的工程师普遍一个特征:算法能力还行,底层了解有限,硬件更是一窍不通。通常做个3、5年始终没做出个味儿来,然后就转行了。
$ W& K/ n; z5 h% s! x& x& _3 w2 }
你既然现在做单片机,就得知道自己今后的发展方向是什么。是当个几年软件工程师,然后转岗去做管理吗??

0 O2 j# g: m4 {8 I. e! x  O
有些人会这样选择,当然我也不能说这是错的。但倘若你对你自己的要求高一点的话,你努力的方向则一定是系统架构师。
1 N1 ^  k$ L7 C* ]+ i7 g
而要成为合格的系统架构师,算法能力只是上层的一小部分,你还得了解单片机底层是如何工作的,甚至还得具备相当程度的硬件知识。
3 }: w# z5 p  f, d/ t
而这些底层,之所以被称之为“底层”,是因为它们确实就是整个系统框架里最基础的部分。好比盖大楼,这些就是地基。你地基都没搞明白,往上盖楼心里能有底吗?
4 U/ ]7 o- u" E; p; J( V6 l$ s
虽然你具体什么情况我不了解,但就我的经验来看,做过几年的软件还对做项目没信心话,多半都是这个原因。正常来说,按我的方法,有个半年到八个月左右,做点简单项目那都没啥问题的。
, a' f& E( i  {  k
当然也确实会有那种资质特别差的,方法也对了,可就是学不会,就是反应比别人慢半拍。这种情况下我就得劝他,好好考虑是不是换份职业算了。当然我不希望你是这种人。

& H. D% {4 W' e4 U( w6 V7 J+ B
所以听我的,别再去看什么视频了,认真看手册,认真看寄存器,每一个驱动都自己手写。一开始总归觉得难的,没关系,一点一点做,慢慢做多了,就能串起来了。
& C4 {' ~  T% ]
一旦串起来,你对系统的理解就能上两个档次。
6 w% D( G4 ~* R6 l
同时,还要学点硬件知识,不是说让你上来就画板子,而是单片机相关的硬件知识,说白了也就是51所有的东西。
; a( z" Q0 r2 X
不是我瞧不起你,虽然你号称自己学过51,恐怕也就是学点皮毛吧??
3 |9 ~. c: \) L1 L6 g% Q
有句讲句,51包含了一切单片机、SOC的所有原理,认真把51学好了,所有的芯片对你来说就都不是问题。

4 Y9 q* Z9 K( S+ }/ b, q' _7 d8 F+ i1 P
赞 2 收藏 1 评论1 发布时间:2020-8-13 21:53

举报

1个回答
mfc4143 回答时间:2020-8-17 08:45:18
感觉这个Kevin网友的回答很片面,力不从心,不能独立完成任务,是因为个人能力不行,而不是所谓的没有看手册,没有看寄存器配置。7 G& O1 K; R$ o0 G7 f
还有底层是学不完的,你以为你看了寄存器,知道每一个寄存器是做什么的就“底层”了吗?
; T) U% P( H  h2 PCMSIS这个库看了吗?就算你看了。
3 I+ t7 j9 L& U1 w单片机内核构架你看了吗?就算你看了,换一种架构的单片机还再看一遍?- |, ]1 {# V! {. o! @% E% w
每一个汇编指令的实现方式你看了吗?,就算你看了,请问你看这些有什么用?做这个吗?能改别人的规则和协议吗?当然了,你就做这个的,那当我没说。但是做这个的人,一般会来做单片机应用开发吗?
8 C% M% ]. m; M有很多大公司,开发是把底层,中间层,应用层,分开的,不同的人去完成的。搞应用层开发的一定比底层的“LOW”?3 T3 B) f# z$ Q- f' Y& V
对于楼主说的,“力不从心”,我想说:“革命尚未成功,同志还要努力啊”) @7 Z" ]: c7 H! l1 B$ n0 h4 X
遇事不决,量子力学,不会配置,cube 设置。/ |9 x/ _0 S) d3 ]5 I) m2 V- k
hal库真香,哈哈哈
& m, r0 D+ Y- v- D5 E( i6 b' |! x4 b7 H4 w
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版