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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
新手学习单片机最常见的六大误区
. T$ r" W  A0 K$ W, q

该用户从未签到

2#
发表于 2021-7-30 11:27 | 只看该作者
一流的方法是直接参考别人的配置程序。
- @" Q7 q) c( @; x: G6 q$ j, X; t( {2 r" }6 R+ u8 t) d' ^
二流的方法是看数据手册,最傻雕的做法就是去背寄存器。
2 Y$ U7 P5 E: i1 ~1 b5 m除了一些在校大学生应付学校考试要背以外,我到现在为止,做过几十个项目都是用c语言,没用汇编做过一个项目。
* w" l  P  G. J" P+ O+ S2 t5 m
4 N, y# H& l% Q: X" m- _; V3 P  Q很多人说还是有必要学,学了对单片机理解地透彻一点。. q* N1 Z! `+ |8 \8 L" U" P( T
. g* P, M+ n" L8 B
我想说的是你又不制造单片机,理解这么透彻干嘛。
6 j7 U6 m9 r( i  f
$ A; I$ X4 ]0 b/ ?5 Q单片机只是工具,90%的人都是用这个工具做应用,你理解透彻和我只会用这个工具,没任何区别。

该用户从未签到

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

该用户从未签到

4#
发表于 2021-7-30 13:05 | 只看该作者
以为C语言学习门槛很高
! P( u) O, K5 h# l5 a( F* x) @/ e) f: T# k) V) C
C语言小学生都能学会。
" e' `9 S2 q3 j1 o
% `' A' s" s2 @7 R. {* i3 y* z# Z我没有跟你在吹牛逼啊,前端时间有一个大姐让我带他的儿子学习单片机。
" I: ?; q% N' x3 _. j$ o
' B2 i* z+ G" n, t( k/ ?) t他儿子才11岁,然后我拒绝了,因为在我的认知范围里,这么小很难学的会。
0 w  V/ d! D% A7 i6 v- y9 k: D" b# \0 V/ g' D# K5 D
然后她说她儿子之前学了c++,有点基础,我当时都惊呆了,现在的学生真的是一个比一个厉害。
4 [7 k; B9 H: C+ D
( |) q+ o( n" q0 W) O, h7 z不过最后我还是让她慎重考虑下,毕竟我们培训的定位是那些学习完之后想找到工作的,我们课程也是以项目驱动去学习。
  }# _. m  D2 a, o- Y& X6 ]+ ?
1 p. n6 m* F0 O' p+ e4 Z4 _新手在学习c语言前期的时候,只要学习基本语法就可以了,来来去去就5条最常用的语句。: b2 u$ d; q/ [& T2 [! U- b$ B
$ S  i$ k, k1 w0 S% p8 r
比如说if..else,switch, for,while, 赋值语句(=).
( S8 c6 k$ v( T* X7 r
0 v1 E0 v% F/ |) ]# A% U7个运算符:加减乘除,或运算、与运算、非运算。4 u) m6 E; }1 B) k# @

' m0 ?+ N+ v, W, ^  t4个逻辑关系符:||、&&、!=、==3 a$ N! z9 ]: B
* N% l5 P* Q# p
3个最常用的数据类型unsigned char、unsigned char short、unsigned char long。4 \+ K; w& b! b8 `

4 o+ a: P% S6 R) K' `3个进制转换:二进制、十进制、十六进制
. L$ G" E* u2 S4 v) R6 K! l, F* i6 m
还有就是函数的定义和调用。
; [; p. J8 q) X1 W9 a4 M1 n* q7 l2 x/ r+ ]
基本上掌握这些,你就能编写很多程序了。# W/ M: p3 g1 d& @
8 i. G$ _" t# h& U
学c语言是一个循环渐进的过程,不要一上来就像写很复杂的程序,再牛逼的大佬也是从点灯开始。& }/ a1 X: i6 R/ V

. x: `3 D( F' B2 m! `等你写多了,熟悉了,到时候再学习指针、结构体之类的。
0 |) r2 s0 B8 o2 x8 h( M6 q+ \" ^" C0 }( z
因为你没有一定的基础时候,去学一些高级应用肯定是学不懂得。- Q) q! ?9 @- U  E

5 a: W: f3 W7 d3 W+ m/ ]只有等你碰到了只能用指针、结构体去实现的功能的时候,你才会深刻理解它们的作用。
$ c8 q' |0 D- v2 j/ \, ?) t5 g3 s6 C# N& t% P! P
0 i8 g& l, q6 t3 x
' s3 N$ V( j; r8 Y* ?8 ?
四、总是因为记不住各种协议而烦恼
$ g/ Y% H! g$ O" z; L" H) ~* E7 v: c' o/ J' u
做单片机开发会经常接触各种协议,但是总体来说也就是:IIC、SPI、USART、单口通讯。1 j! F  ^7 L7 _
$ ^$ \0 m3 c( @9 r
前期的话也先不要去学习USB,CAN之类的协议,这些一般只会用在细分的领域。2 m. R' E* u0 A; Q# }8 `
* p* z3 s2 U; ^$ z2 n4 m1 v5 v
大家如果工作中碰到了,再针对性去学习。7 P& D/ x9 D' \( x/ e, u

, y! c( L0 ]" d. a# P大家真正只需要掌握IIC、SPI、串口、单片通讯就行了。% g  ?1 R, j2 s- X! s

& i" E9 k6 T; w3 C! e学习这个也很简单,直接搜别人的例程来用,先用起来,再根据程序的去理解这些时序图就简单多了。
1 z0 P, v3 P- L% s. z5 o. b2 v; R1 E1 [7 g; M2 q
这里没有说错啊,是通过程序去理解时序图,这个逻辑跟大多数人的思维可能是反的。8 z4 M. O& z6 l6 G; B4 R

& d- |/ h) ]; |" Q# R但是我个人就是这样看懂时序图的,也是我的经验,大家可以去尝试,并不一定适合大家。
- |6 B1 i; `1 ^3 ?

该用户从未签到

5#
发表于 2021-7-30 13:41 | 只看该作者
纠结代码写得好不好
1 c2 a* x. p$ [5 X
( i& W" H1 y8 e, c5 w- C$ g新手前期做项目写代码以实现功能为主,特别是51单片机,你代码写好了内存也未必够你用。
! F9 z4 z! D8 h% k6 K2 C8 S; [; W6 T1 y; z
在你没接触过大项目程序开发的时候,你根本不知道代码的好坏,在功能上有什么区别。2 F9 q8 F: B: e/ b$ w' j4 n

- _# b0 v9 o" x# a, c0 n% k反正都能实现功能对吧?) `# F# \' c  ?" S7 u* f

' N5 z5 {* U% @等你真正碰到一些大项目的时候,如果你代码水平不行,肯定是做不出来的。
( y* p5 u6 L: G* V0 Z0 }# t* d  |9 ]1 G. D- \
代码量大了你Hold不住,不知道怎么去整合,整合完以后功能之间也有冲突。8 f- C) X4 {6 T; C8 a% N! ~

, W/ f! c4 z- S3 R; v6 h- E, ^最后好不容易整合好了,又发现移植性太差,可扩展性太差,万一项目经理让你增加或者改个功能,你就挂逼了。
! K! z: U! t/ V2 l) ?) P: S+ }1 M- G* k
这个时候就是你该去思考怎么样把代码写得更好的时候了。$ Y& k( j0 O, C9 y/ s" v
4 [2 J1 Y/ U$ T  W+ c% ?' R
因为你知道痛点在哪里了,在针对这个痛点去找解决的办法。
' e3 ]; _; H  U4 y( X% }! o2 k$ J4 o3 O4 z+ N8 {- q
最好的方法依然是去参考,写程序比你厉害的人。
( D0 t: x. r: D2 Y: K1 w' e7 @6 V  J+ A- E8 q) v* t
你再针对性去学习,比如说看我录制的那个程序架构教程。8 c- d# Q# r5 s/ L0 @& `! w- p

4 O  A4 {' O$ V  [# y我那个教程就是我这么多年产品开发当中碰到问题,再学习解决,最终总结出来的精华。
! W2 Q, C  f' U3 d& J* |2 I9 j) Z6 |. }- l$ n
六、什么都想学成专家2 p& S$ r, w- F) _  r+ ]' X

/ b8 a: c9 h* y# w3 q很多新手在学习过程中碰到不懂的就想把那个知识点系统学一下,不学精学透不回头。' Q3 y, [' [* ]8 }

. H% w; E; ]! i7 D0 {3 \2 \1 |举个例子,比如说一个电路看不懂,就以为是自己模拟电路、数字电路基础太差。
/ K* }* A3 U" d: \5 p1 j' i% _9 d, G/ J' r7 C% W
然后去把模电数电系统学一遍,学着学着就学不下去了,然后就以为做单片机开发太难了,最后也就放弃了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-20 16:19 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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