找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

19

主题

87

帖子

435

积分

EDA365版主(50)

Rank: 5

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

EDA365欢迎您!

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

x
1 ^3 ^& S3 a6 S' L; [" B

5 D) `1 ?* u4 F. v. A

. {2 c1 x8 ?, m* @  R
(1)很难记住繁杂的寄存器?" @# i' H$ F" @5 ]# E9 e

# J/ N/ Z3 ?( z- k' F7 f% v寄存器不用死记硬背,做了那么久单片机项目的开发,连一个寄存器都记不住。
: v8 |( N; Q6 B+ |: o
8 E( F% {- e( g: }- Y+ H需要配置寄存器的时候,直接在网上或者书本上参考别人现成的配置程序是上策,查找芯片数据手册是中策,死记硬背寄存器是最最下策。. ], @8 o9 ^9 [% G: b
0 M9 S, C( B: k8 w7 `* y, i
6 e) Q3 G( H8 R7 L
(2)很难记住繁杂的汇编语言指令?- c  p" K) ?5 _$ t7 R$ x. V

6 N# r. [6 ~* N5 E. G  f/ d! |/ A/ A* _! r除非是在校学生要应付考试或者少数工作中绕不开汇编,否则学汇编就是浪费时间。从来就没有用汇编帮客户做过一个项目。
6 n- J: I; w- W) @. h* V! Y4 G  T! ^9 O* P5 ?

$ T8 G& }5 v0 B7 q+ v6 j(3)C语言很难学?5 D6 q2 i  x' [# p3 I: Z8 f2 [  j
: H8 z+ T' S0 r! A. N
你不用学指针,你不用学带形参的函数,你不用学结构体,你不用学宏定义,你不用学文件操作,你也不用死记繁琐的数据类型。' L  H/ P& z) w  o) J! C

7 Z7 r& Q8 ?) |% D你只要会:
9 c% }( }& {2 ]8 Z/ |* S. P0 ?' Q( \, L- R/ p
5条指令语句switch语句,if else语句,while语句,for语句,=赋值语句。
, O, @1 B" [- J& B7个运算符+,-,*,/,|,&,!。1 c# ~4 U5 `  n" k
4个逻辑关系符||,&&,!=,==.
4 X  j4 A. V& Y' I; y3个数据类型unsigned char, unsigned int, unsigned long。% O- d% z2 O) ]$ F
3个进制相互转化,二进制,十六进制,十进制。
: z: z: c9 w7 D9 C1个void函数。
# P3 i- T: W: m& Z+ D; W. ~+ ^% ?1个一维数组code(或const) unsigned char array[]。( G' K* U! }$ |5 o3 Q! @
那么世界上任何一种逻辑功能的单片机软件你都能做出来。% R: a! N" P) B
我当年刚毕业出来工作的时候才知道可以用C语言开发单片机,一开始只用if语句就把项目做出来了,没有用指针,没有用带形参的函数等复杂的功能。
! B' x' U; h, @9 ^6 n  j$ ]: Z: z- d
再到后来才慢慢开始用C语言其他的高级功能,但是我发现C语言其他的高级功能,本质上都是用我前面列举出来的最基本功能集合而成,只是书写更加简单方便了一点,编译后的机器码都大同小异。1 @6 X. H. E6 o- U0 K" W

7 m1 ?$ J7 P% h7 W2 J- W. [9 y2 j所以不会指针等高级功能你不用自卑,恰恰相反,当你会最简单的几个语句,就把这些高级功能的程序都做出来了,你才发现你对底层了解得更加透切,再学那些高级功能轻而易举。3 Y- g8 V& \. P
) x/ N% L4 ?; S5 h
当你裸机跑的程序都能够协调得很好的时候,你才发现所谓高深的操作系统也不过如此,只要给你时间和金钱你也可以写个操作系统来玩玩。! _& Y' E9 h5 B
( V9 U7 t8 `7 p# Y/ c/ D

, o: v9 T0 l- H" q  H8 R# K& q3 k* `(4)很难记住精确时间的计算公式?
6 t1 [# f0 }5 S) d: u0 r& C. v
经常看到时间公式等于晶振,时钟周期,执行指令次数他们之间的乘除关系式。
: H6 E. n- s1 w9 W3 g2 A
( e+ m' X2 ~$ {我认为这些都是浮云,不用纠结也不用去记,大概了解一下就可以了。不管你对公式掌握得有多精确,你都不可能做出非常精确的时间。8 m9 z6 R3 X) }, \
5 k3 w) l6 B/ R' @+ {, ~
想用单片机做一个非常精确的时间这种想法一开始就是错的,不可能的。
: [  j- X, ~6 Q  U
( S* m- u$ p7 d& u7 ?+ X8 l, l7 T' g7 ]真想做一个比较精确的时间,应该用外围时钟芯片或者FPGA和CPLD,而不是单片机。
* G$ t# f8 r3 w9 Z& V9 R% H; C( k% [9 S4 f

& R- k2 w1 h5 B(5)很难记住繁杂的各种通信协议?' q2 O) A7 ~. F/ }4 Y

: n2 y! c5 t6 R. s. o什么IIC,SPI,232串口通讯,CAN,USB等等。/ C& \# t- n! R* `! y

7 g% ?. Y) ]8 c5 B这些都是浮云,你不用记那么多,你只要理解两种通讯方式就够了,那就是串行通讯方式和并行通讯方式。9 ?  `" o' W# t& B  E7 |

% b; c9 l* j  t7 x( Y- P5 ~不管世界上有多少种通讯协议,物理世界上只有这两种通讯方式,其他各种名称的通讯协议都基于此两种方式演变而来。
5 k8 V' G0 K4 G" y/ Z) O. a4 R( r* G+ _! R( W/ ?. u+ r
$ }" a' |: c. e" k# ]
(6)很难写短小精悍的程序?4 @+ a& l# R8 E9 i& L5 B
- Q$ x- R0 u1 \$ q
初学者不要纠结于此。做项目开发,程序容量不是刻意追求的目标,程序多一点少一点没关系。: e8 m# x0 j, E, v2 D9 L
0 O$ V# W5 `# o+ R& V
现在大容量的单片机品种非常多,容量不会是寸土寸金的事情,我们更加要关注程序的运行效率,可读性和可修改性。
% P) z/ ~0 _- z: |/ m

4 `# ]0 e+ P: ^' O1 M$ i2 E: \; X3 {5 g- n' u

* L  e: j( V1 m6 n

7 b1 B+ K& E4 _
5 q7 Z+ Z% y- c; s  |* P* t9 N
# x& z  Y" a; o7 {  S
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏6 支持!支持! 反对!反对!

4

主题

313

帖子

2314

积分

四级会员(40)

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

积分
2314
推荐
发表于 2015-4-20 15:29 | 只看该作者
对的!!!每一句话都戳心坎!
( q" g+ E: W- ]6 o做了那么多项目,至今不会用指针,结构体。。。因为发现汇编出来的机器指令都差不多!

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

帖子

36

积分

二级会员(20)

Rank: 2Rank: 2

积分
36
3#
发表于 2015-4-19 21:57 | 只看该作者
说在点上了

0

主题

5

帖子

17

积分

二级会员(20)

Rank: 2Rank: 2

积分
17
4#
发表于 2015-4-20 11:20 | 只看该作者
精辟啊

0

主题

10

帖子

246

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
246
6#
发表于 2015-5-1 11:05 | 只看该作者
说的好, 全新开发一个project 不如先用现成来改

3

主题

18

帖子

52

积分

二级会员(20)

Rank: 2Rank: 2

积分
52
7#
发表于 2015-6-9 10:10 | 只看该作者
只能说楼主,水平一般....

0

主题

2

帖子

1

积分

初级新手(9)

Rank: 1

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

0

主题

1

帖子

8

积分

初级新手(9)

Rank: 1

积分
8
9#
发表于 2015-6-19 11:42 | 只看该作者
虽然刚了解单片机,但楼主说的精髓一定要收藏,感谢!
. l, q) A, k5 W5 J' |1 |7 @: n

0

主题

11

帖子

495

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

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

67

主题

542

帖子

2048

积分

四级会员(40)

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

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

7

主题

223

帖子

1310

积分

四级会员(40)

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

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

1

主题

8

帖子

16

积分

二级会员(20)

Rank: 2Rank: 2

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

6

主题

292

帖子

955

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
955
15#
发表于 2015-9-15 17:50 | 只看该作者
有点意思!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-5-24 17:02 , Processed in 0.079107 second(s), 33 queries , Gzip On.

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

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

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