找回密码
 注册
关于网站域名变更的通知
查看: 550|回复: 4
打印 上一主题 下一主题

新手学习单片机最常见的六大误区

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-7-30 11:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
新手学习单片机最常见的六大误区" K3 B6 `( e2 j1 @5 a  J' k

该用户从未签到

2#
发表于 2021-7-30 11:27 | 只看该作者
一流的方法是直接参考别人的配置程序。
/ O2 a" i* w. z% P% P+ z; L
$ j' L' L* Z  t  O8 M0 {1 W二流的方法是看数据手册,最傻雕的做法就是去背寄存器。2 G7 W8 F3 A  n
除了一些在校大学生应付学校考试要背以外,我到现在为止,做过几十个项目都是用c语言,没用汇编做过一个项目。
2 k# O& c: j+ X) m& U
% p3 A5 N8 D1 V' t# x; ~很多人说还是有必要学,学了对单片机理解地透彻一点。" }8 R  [. q: s2 @0 b5 n0 G
0 s* O- w: q- g/ ^5 {
我想说的是你又不制造单片机,理解这么透彻干嘛。
9 i) h  P1 ~/ r- n$ v1 S8 z, k, s/ p. O
单片机只是工具,90%的人都是用这个工具做应用,你理解透彻和我只会用这个工具,没任何区别。

该用户从未签到

3#
发表于 2021-7-30 12:33 | 只看该作者
不用汇编仅用C完全可以做项目不错!特别对于控制项目,用汇编做一做特可以学到新的东西,至少对单片机的硬件理解更透彻!

该用户从未签到

4#
发表于 2021-7-30 13:05 | 只看该作者
以为C语言学习门槛很高
2 B" ]6 e2 M5 S4 _6 D/ T3 P6 J5 ?; ^; v% f5 M5 \: S
C语言小学生都能学会。8 F3 s8 u% t8 z) m6 `4 x! f9 u% L+ h
) F1 f7 O( b$ n( v2 a
我没有跟你在吹牛逼啊,前端时间有一个大姐让我带他的儿子学习单片机。
" C4 [. j7 N/ S9 s* |! q3 `/ \) O% z: T: j% V
他儿子才11岁,然后我拒绝了,因为在我的认知范围里,这么小很难学的会。
) t2 r2 t- W0 c, u( ~$ `. ~& t& ^. ~) u/ U! l" p* @- j# [: [
然后她说她儿子之前学了c++,有点基础,我当时都惊呆了,现在的学生真的是一个比一个厉害。
" J# A- Y) i" a4 t
+ n* Y! I: v5 Y6 C不过最后我还是让她慎重考虑下,毕竟我们培训的定位是那些学习完之后想找到工作的,我们课程也是以项目驱动去学习。
+ p" a8 S4 o- a7 b5 A
. ^# e1 P$ A0 u( ~" T新手在学习c语言前期的时候,只要学习基本语法就可以了,来来去去就5条最常用的语句。, S0 j3 `: S' K
+ q/ h9 k) W/ V& U
比如说if..else,switch, for,while, 赋值语句(=)./ e! E( U5 B# R

. p2 ^1 W- z, I% y/ e0 d" o7个运算符:加减乘除,或运算、与运算、非运算。$ D3 d: V4 A* z
9 G' W: P; R( k) i
4个逻辑关系符:||、&&、!=、==
8 U% ~* R: b( c: F( l8 i6 i
  v- h% A( b3 o7 I( t3个最常用的数据类型unsigned char、unsigned char short、unsigned char long。' L/ Y3 V/ D  g1 T. L* R) @7 A

; t8 L4 v+ Y& R) S8 W3个进制转换:二进制、十进制、十六进制. r- _# F' q  i% l8 W

9 b$ \% E; K! e) h还有就是函数的定义和调用。, n5 j/ Q7 K) g) z

$ l8 z6 i$ m) {6 y6 o基本上掌握这些,你就能编写很多程序了。& ^7 m$ g% T/ L+ A0 ]' ^

, H8 y, ~( T6 _3 e0 Z学c语言是一个循环渐进的过程,不要一上来就像写很复杂的程序,再牛逼的大佬也是从点灯开始。. N8 \9 _9 u% x$ d) f; E

5 {1 ?4 w' g, P+ W/ t* {* c$ {0 K等你写多了,熟悉了,到时候再学习指针、结构体之类的。7 ?& [: T2 w* |2 S
3 M9 v5 `1 ]& ^3 U! S( M
因为你没有一定的基础时候,去学一些高级应用肯定是学不懂得。
! N& a) @) A+ ^/ s5 O5 e* ]3 |/ E* {" \; F# N! w
只有等你碰到了只能用指针、结构体去实现的功能的时候,你才会深刻理解它们的作用。
' w5 ~8 }, R) Q$ g/ s
: n" M4 s4 _2 Z! V4 p! }+ e* q4 X4 i$ b) y& q) e8 z! d( U

) p5 B1 H! f, }' [4 |  G四、总是因为记不住各种协议而烦恼
; \" [* l% ?" T* k  J5 L$ f" {2 G: ?- X7 X0 B1 n& t
做单片机开发会经常接触各种协议,但是总体来说也就是:IIC、SPI、USART、单口通讯。+ B2 E" e8 ^: h- h5 ~$ n

! j/ ]; P/ C  D  N3 Z8 O  D前期的话也先不要去学习USB,CAN之类的协议,这些一般只会用在细分的领域。. d6 I  F- _, }8 M0 N

% @( |7 e& _! @# I: J/ O大家如果工作中碰到了,再针对性去学习。6 d8 N& M) L+ ?0 W( w$ C1 V$ l
" }' i& }5 e9 `# E; ^
大家真正只需要掌握IIC、SPI、串口、单片通讯就行了。
6 U* ?4 }! c: h/ e0 U8 ~( y4 B9 ?4 v. ?9 A0 z
学习这个也很简单,直接搜别人的例程来用,先用起来,再根据程序的去理解这些时序图就简单多了。+ L! u/ X# n1 E" s; Y$ t) E
4 h2 e' e; X& Y: {. X
这里没有说错啊,是通过程序去理解时序图,这个逻辑跟大多数人的思维可能是反的。2 r  g7 x9 }  Y8 ?& f: S
! I& z- m. p' }6 d- c( |3 y
但是我个人就是这样看懂时序图的,也是我的经验,大家可以去尝试,并不一定适合大家。- H6 B6 r4 t7 G7 E

该用户从未签到

5#
发表于 2021-7-30 13:41 | 只看该作者
纠结代码写得好不好
7 J& I; Z/ v8 V: l! g. `& r9 F$ ]: T0 C& e; L+ |
新手前期做项目写代码以实现功能为主,特别是51单片机,你代码写好了内存也未必够你用。
0 F  S5 ]- p$ o, T1 n! p6 x
: T  W% ?( R) U在你没接触过大项目程序开发的时候,你根本不知道代码的好坏,在功能上有什么区别。$ Q3 V, `% k* c% U- I/ R/ _
9 g% V8 h$ R' ?* g# f8 M/ q) [
反正都能实现功能对吧?' i. N2 k2 F! l: q- Q/ j

! N" m0 ], |: O5 ^等你真正碰到一些大项目的时候,如果你代码水平不行,肯定是做不出来的。
& P, T! L2 D% w8 r2 P$ b. L" c8 T+ N
代码量大了你Hold不住,不知道怎么去整合,整合完以后功能之间也有冲突。
( [: G. g* `" S* c
! r/ Z* x- n8 V' X! ^9 q; L  U最后好不容易整合好了,又发现移植性太差,可扩展性太差,万一项目经理让你增加或者改个功能,你就挂逼了。
* b% K8 P* J, H# k# @: G/ O7 r- r$ y  s( ~
这个时候就是你该去思考怎么样把代码写得更好的时候了。
9 |, X9 j- ?- k. j
0 e& p; O8 d* j因为你知道痛点在哪里了,在针对这个痛点去找解决的办法。* Q& E5 X9 L5 A) o4 z' V6 Z
) g4 H+ V; v8 C) L5 J! U
最好的方法依然是去参考,写程序比你厉害的人。
$ {! Q+ g" h8 k& g1 E0 o
* D) q" e7 K1 w; B4 c你再针对性去学习,比如说看我录制的那个程序架构教程。; `7 M, g* s& e  T! V) ~

2 K7 y3 H( M6 ?5 Z# D我那个教程就是我这么多年产品开发当中碰到问题,再学习解决,最终总结出来的精华。2 R( ~: X$ y  E  t8 _0 q
  ], r) _% Z  R* Z# t* ?' v
六、什么都想学成专家
! {2 j2 H+ j$ t8 i) g! s2 m" y& w  O5 c: [
很多新手在学习过程中碰到不懂的就想把那个知识点系统学一下,不学精学透不回头。
0 \% M. a; |: e0 C. E. ~  L# ]' e* |! l! I5 D9 `
举个例子,比如说一个电路看不懂,就以为是自己模拟电路、数字电路基础太差。# C, ^) }* t( Q  ?5 o4 }  |
" l2 o- h% [. D0 ~: {2 K7 l/ C" a
然后去把模电数电系统学一遍,学着学着就学不下去了,然后就以为做单片机开发太难了,最后也就放弃了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-18 06:24 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表