打印
[匠人手记]

程序调试(除错)过程中的一些雕虫小技(更新:2010-04-09)

[复制链接]
楼主: 程序匠人
手机看帖
扫描二维码
随时随地手机跟帖
121
alger2009| | 2010-1-22 15:20 | 只看该作者 回帖奖励 |倒序浏览
匠人真幽默

使用特权

评论回复
122
kymcu51| | 2010-1-22 20:29 | 只看该作者

内容

本帖最后由 kymcu51 于 2010-1-22 20:34 编辑

好贴就要顶

内容很实用

调试中人机界面很重要

使用特权

评论回复
123
lvxinchao| | 2010-3-22 10:25 | 只看该作者
我买了他的书,晚上睡觉的前的半小时看看,应该有实用价值。

现在工作太忙  看书时间越来越少,我自己规划一下,一年要读几本书

使用特权

评论回复
124
程序匠人|  楼主 | 2010-4-9 17:43 | 只看该作者
十一、删繁就简,从最小系统开始!

这篇手记写到上一节,原本已经结束了,直到今天看到网友问的一个问题:“我的程序调试都通过啦,为什么烧片后没有反应?”

匠人突然发现,这篇手记的一个缺陷,就是过于集中讨论了调试中的软件技巧,却疏忽了硬件方面的问题。所以特意补充这个小节的内容:

当你辛辛苦苦在仿真上完成了所有调试工作,却发现烧片后系统不工作,该怎么办?

到百脑汇去看看电脑修理工是怎么干活的:面对一台故障不明的电脑,修理工会把先不相关的部件拆掉,只留下电源、主板、CPU三样基本核心部件,看能否启动;如果这一步通过了,他们会继续加上内存、显卡、显示器,看能否点亮;如果点亮了,接下来再加上:硬盘、键盘;最后才是鼠标、光驱、网卡、打印机、摄像头之类。

从最小系统开始,有条不紊地排查。这就是有经验的修理工们惯用的“最小系统法”!

所谓的最小系统法,是指构建一个可运行的系统,必不可少的、最基本的硬件和软件环境。而在这里,我们特指硬件方面。

如果要让一个单片机系统正常工作起来,需要哪些硬件条件,我们罗列一下:

1、电源

2、复位信号

3、晶振信号

Ok!无需多说了,这就是我们要优先排查的目标(也许你需要一个示波器!)。暂时忽视那些不相关的硬件。等单片机能够正常运行了,再去检查其它外围功能电路吧。

如果上述3个方面都排查无误,系统还不能工作,那就是人品问题啦。赶紧找个牧师去忏悔,或者到百脑汇去帮老板干几天活。完了再回来继续查自己的板子上有没有短路、开路等弱智问题。

最后再引申一下:在软件调试时,最小系统法也同样可以使用。先写一个只有最少的代码的系统,让程序跑起来,然后把模块一个个加入调试,不失为一种明智的方法。

使用特权

评论回复
评分
参与人数 2威望 +2 收起 理由
lixianghua0428 + 1
小沙子粒 + 1
125
gogogogogo| | 2010-4-12 16:37 | 只看该作者
学习,记号

使用特权

评论回复
126
mydiaokeji| | 2010-4-13 21:39 | 只看该作者
如此好贴,mark

没想到同行中一样有

使用特权

评论回复
127
开始的梦想| | 2010-6-16 09:27 | 只看该作者
写的太好了,谢谢分享!

使用特权

评论回复
128
hanfei08131106| | 2010-6-17 13:08 | 只看该作者
匠人你好啊!我也是单片机初学者,用的是C语言编程序,老师的方法是拿别人的程序来改,好了就是自己的程序了,但现在还是在做一些小的程序,而且还是在改的过程中,我想问你一下:就是单片机的学习总要循序渐进,但找不到好的方法,也看到不少的建议,但好像都不统一,希望给点建议,谢了、、、

使用特权

评论回复
129
程序匠人|  楼主 | 2010-6-17 13:52 | 只看该作者
匠人你好啊!我也是单片机初学者,用的是C语言编程序,老师的方法是拿别人的程序来改,好了就是自己的程序了,但现在还是在做一些小的程序,而且还是在改的过程中,我想问你一下:就是单片机的学习总要循序渐进,但 ...
hanfei08131106 发表于 2010-6-17 13:08


师的方法是拿别人的程序来改,好了就是自己的程序了——这不失为一个好的方法,学习都是从模仿起步的。

对于单片机学习,如果说有什么经验的话,那么我的建议就是“多做,多想,多总结”。

使用特权

评论回复
130
xukaiming| | 2010-6-21 19:08 | 只看该作者
呵呵,我最喜欢的是串口输出。

使用特权

评论回复
131
hotpower| | 2010-6-21 19:55 | 只看该作者
太局限,建议多编写一些PC端的软件,这样思路更开阔些。

使用特权

评论回复
132
电子三极管| | 2010-6-27 21:45 | 只看该作者
:handshake 匠人我爱你

使用特权

评论回复
133
nbcskk| | 2010-6-29 13:43 | 只看该作者
对上位机程序也有借鉴意义。上位机一般有日志。
这些方法估计很多人糊里糊涂都用过,只不过很难这么清晰的理出来。写的非常生动好看。顶。

使用特权

评论回复
134
zhang-sb23| | 2010-7-18 07:42 | 只看该作者
好经验!很受用啊!

使用特权

评论回复
135
seabada| | 2010-7-20 13:27 | 只看该作者
顶下继续学习

使用特权

评论回复
136
seabada| | 2010-7-20 13:36 | 只看该作者
再顶下

使用特权

评论回复
137
jma21| | 2010-10-20 10:40 | 只看该作者
久闻匠人大名,今日乍见此贴,如五雷轰顶!果然高人啊!我们学校的教授要是能这么针对的讲课该多幸福啊,冒昧的问一下下,匠人你收不收徒弟啊,我很想跟你把单片机学好! ...
lk01667 发表于 2010-1-18 17:47


真的,匠人先生收徒否?您这般心肠之人不长命百岁那可真是对不起太阳照耀地球这么些年!

使用特权

评论回复
138
dbayj| | 2010-10-20 12:58 | 只看该作者
崇拜,会经常来学习的,非常感谢匠人指点

使用特权

评论回复
139
chencping| | 2010-11-18 08:00 | 只看该作者
很好,谢谢匠人!!

使用特权

评论回复
140
yinguangwei| | 2010-12-11 10:16 | 只看该作者
不得不说一声,匠人很NB!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则