找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 1419|回复: 19
打印 上一主题 下一主题

单片机初学者的误区(非常接地气)

[复制链接]

19

主题

87

帖子

435

积分

EDA365版主(50)

Rank: 5

积分
435
跳转到指定楼层
1#
发表于 2015-2-16 11:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

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

x

- o, G5 @, ?% f5 ]' k* j, i. ]6 r

9 U0 Y$ O% _* {5 Y

/ b( [& L% r3 f+ v- w
(1)很难记住繁杂的寄存器?
' Y( c$ f/ N3 l6 N% M
) ]# O9 ^0 d; q: n- `寄存器不用死记硬背,做了那么久单片机项目的开发,连一个寄存器都记不住。
9 u& x8 k" Z/ j" u9 T3 V1 d- ^$ M( }! e7 S& S
需要配置寄存器的时候,直接在网上或者书本上参考别人现成的配置程序是上策,查找芯片数据手册是中策,死记硬背寄存器是最最下策。
9 C- j. F% Y1 x0 M! }
- f6 _8 [4 @* V6 t( ]# K3 D1 u1 C& x
& p/ {3 E5 P  j$ ^" L8 I(2)很难记住繁杂的汇编语言指令?& V0 c1 ]% s$ i, Y1 p" D3 g+ h

2 b' O" f3 I* k9 R: S除非是在校学生要应付考试或者少数工作中绕不开汇编,否则学汇编就是浪费时间。从来就没有用汇编帮客户做过一个项目。! v/ k$ |! X7 f

/ Y4 s: _3 S, e( h9 j* @2 U" {
; r+ J$ A! u- E: t$ ~, \/ a6 C(3)C语言很难学?2 b$ J) G$ K, U# ]2 q3 t0 S* U" I
& h8 b  S- N5 B
你不用学指针,你不用学带形参的函数,你不用学结构体,你不用学宏定义,你不用学文件操作,你也不用死记繁琐的数据类型。
" C& _3 ?- O- A9 m" h. t
- B6 p& k3 c: n& S你只要会:
( L2 O$ \" j$ W& z+ L- h) g
; y3 ?# T+ s9 G5条指令语句switch语句,if else语句,while语句,for语句,=赋值语句。
/ o) P7 s2 K8 K7个运算符+,-,*,/,|,&,!。
. p+ v+ Q  M! I1 D+ s3 x/ H4个逻辑关系符||,&&,!=,==.
$ t5 V& c& v# T5 ^5 A/ _) x3个数据类型unsigned char, unsigned int, unsigned long。0 g9 Q2 i$ M  [: U6 |
3个进制相互转化,二进制,十六进制,十进制。
! a( c% G3 R2 Q1个void函数。
! ^- v0 e3 |; o7 P1个一维数组code(或const) unsigned char array[]。
1 C8 M! U5 ~! e% a那么世界上任何一种逻辑功能的单片机软件你都能做出来。2 K: l) ^( `7 x$ ~6 w, D
我当年刚毕业出来工作的时候才知道可以用C语言开发单片机,一开始只用if语句就把项目做出来了,没有用指针,没有用带形参的函数等复杂的功能。
' r) z0 I7 G& [8 }9 n$ Q" ~+ I  o) _. P' r. J8 z7 |1 n
再到后来才慢慢开始用C语言其他的高级功能,但是我发现C语言其他的高级功能,本质上都是用我前面列举出来的最基本功能集合而成,只是书写更加简单方便了一点,编译后的机器码都大同小异。
2 Q+ i1 j6 k! o6 ]9 H( n
+ z( P* n' Y; b0 V  J所以不会指针等高级功能你不用自卑,恰恰相反,当你会最简单的几个语句,就把这些高级功能的程序都做出来了,你才发现你对底层了解得更加透切,再学那些高级功能轻而易举。$ L4 W3 a. F2 \' s% }5 K& M- l) o
) |$ V# I/ c% J& Y5 Z# `. i
当你裸机跑的程序都能够协调得很好的时候,你才发现所谓高深的操作系统也不过如此,只要给你时间和金钱你也可以写个操作系统来玩玩。: d* u: E' t/ H2 H9 L  Z
8 x/ M6 W0 _* a

+ l) G" l' U  E' @& e* U(4)很难记住精确时间的计算公式?
( A& j& [4 K8 z6 r% ~
6 h# m+ o; z2 X$ D经常看到时间公式等于晶振,时钟周期,执行指令次数他们之间的乘除关系式。
, r% Z: D0 X; V0 B
; `8 b- {- l8 h% t$ g我认为这些都是浮云,不用纠结也不用去记,大概了解一下就可以了。不管你对公式掌握得有多精确,你都不可能做出非常精确的时间。
: E9 U7 i- B/ Y9 A, `; |: ~6 e/ G1 Y2 r
想用单片机做一个非常精确的时间这种想法一开始就是错的,不可能的。# Q+ {# |' D5 Y
" E* v  l5 d- e4 a/ T& E) W  l( a
真想做一个比较精确的时间,应该用外围时钟芯片或者FPGA和CPLD,而不是单片机。
8 |7 q6 v5 W' g1 I, m8 _+ d
- \  V2 A! O$ n2 y' H1 I* Y/ b% r, |& C* Z& H' y, T9 [
(5)很难记住繁杂的各种通信协议?+ M' E. Q7 X6 K

7 V6 D& {- G/ ^9 X, R' U8 H什么IIC,SPI,232串口通讯,CAN,USB等等。3 C  h( b) V8 }7 \: A
5 ~  ?! H* l8 r
这些都是浮云,你不用记那么多,你只要理解两种通讯方式就够了,那就是串行通讯方式和并行通讯方式。
% g/ i. I% K( D6 Z& q" x
8 B9 h5 l. B  V% }5 J& o! r不管世界上有多少种通讯协议,物理世界上只有这两种通讯方式,其他各种名称的通讯协议都基于此两种方式演变而来。
" Y, A2 D% |. g9 S9 b) s' `' b
, P, \  \! ]' E; U8 H
2 \: o2 b" j, I/ p(6)很难写短小精悍的程序?( {1 |% S" d; P# x
$ h  D/ u8 i0 x9 x8 A% k6 A
初学者不要纠结于此。做项目开发,程序容量不是刻意追求的目标,程序多一点少一点没关系。/ ]6 ], O; ~" _# g$ D) S

$ j% J- F7 K8 b8 T6 S  B现在大容量的单片机品种非常多,容量不会是寸土寸金的事情,我们更加要关注程序的运行效率,可读性和可修改性。
3 A+ D) @0 ^, d0 C% I
# J9 d! n  u) q: Y0 V
" _: j: j" z* A3 z
9 a, h5 |; m( T) X$ r) h# p
$ N  O& A1 l5 [- V8 B, d
: `  Z* J& ~- l5 T3 Q. T1 g4 A
: T0 y0 G' q3 ~6 f- ^3 d+ P
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏6 支持!支持! 反对!反对!

4

主题

313

帖子

2314

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2314
推荐
发表于 2015-4-20 15:29 | 只看该作者
对的!!!每一句话都戳心坎!# n* a& [0 L# t4 [# A  ~
做了那么多项目,至今不会用指针,结构体。。。因为发现汇编出来的机器指令都差不多!

31

主题

347

帖子

2216

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2216
推荐
发表于 2015-7-20 16:50 | 只看该作者
说得非常好啊,我也是二年的初学者了,我也不是很懂C,我真的就像楼说的一样,我只会几条语句

16

主题

42

帖子

836

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
836
推荐
发表于 2015-3-7 09:35 | 只看该作者
哥  我是单片机初学者,你的描述太震撼我了,能方便加个QQ以后讨教你几招吗

0

主题

2

帖子

7

积分

初级新手(9)

Rank: 1

积分
7
20#
发表于 2018-7-14 09:07 来自手机 | 只看该作者
学习

3

主题

92

帖子

68

积分

二级会员(20)

Rank: 2Rank: 2

积分
68
19#
发表于 2018-7-14 08:41 | 只看该作者
真说得那么简单就好咯

0

主题

42

帖子

15

积分

二级会员(20)

Rank: 2Rank: 2

积分
15
18#
发表于 2018-7-10 22:02 来自手机 | 只看该作者
谢谢分享

0

主题

35

帖子

984

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
984
17#
发表于 2015-12-23 09:51 | 只看该作者
楼主发帖辛苦了,谢谢分享!!!!!!!!

1

主题

49

帖子

155

积分

二级会员(20)

Rank: 2Rank: 2

积分
155
16#
发表于 2015-11-5 16:24 | 只看该作者
被震撼了

6

主题

292

帖子

955

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
955
15#
发表于 2015-9-15 17:50 | 只看该作者
有点意思!

1

主题

8

帖子

16

积分

二级会员(20)

Rank: 2Rank: 2

积分
16
14#
发表于 2015-9-6 11:29 | 只看该作者
谢谢分享.............

7

主题

223

帖子

1310

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1310
13#
发表于 2015-9-1 09:48 | 只看该作者
那需要记的是啥呢

67

主题

542

帖子

2048

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2048
12#
发表于 2015-8-28 11:46 | 只看该作者
学起单片机好费劲,我觉得自己还没开窍

0

主题

11

帖子

495

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
495
10#
发表于 2015-7-16 18:18 | 只看该作者
说的太精辟了

0

主题

1

帖子

8

积分

初级新手(9)

Rank: 1

积分
8
9#
发表于 2015-6-19 11:42 | 只看该作者
虽然刚了解单片机,但楼主说的精髓一定要收藏,感谢!
. C6 c. N! [7 v3 X3 H8 \2 f# x

0

主题

2

帖子

1

积分

初级新手(9)

Rank: 1

积分
1
8#
发表于 2015-6-17 11:04 | 只看该作者
精辟,好!

3

主题

18

帖子

52

积分

二级会员(20)

Rank: 2Rank: 2

积分
52
7#
发表于 2015-6-9 10:10 | 只看该作者
只能说楼主,水平一般....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-5-25 10:11 , Processed in 0.067959 second(s), 34 queries , Gzip On.

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

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

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