"); //-->
程序调试(除错)过程中的一些雕虫小技(四、慢镜头的威力)
2009年春晚捧红了魔术师刘谦(这位老兄名“谦”,其实一点都不谦虚——长的帅不是错,出来拽就是罪过了!),也勾起了大家对魔术的浓厚兴趣,如何识破那些快速的眼花缭乱的魔术手法呢?很简单,用慢镜头回放即可。据说刘谦那个橡皮筋魔术的手法就是被人如此识破的。
回到我们单片机上来。我们知道,单片机的运行速度,一般都是在几M到几十M(当然,也有为了节能而采用几十K的低速)。不管怎么样,这个速度都远远超出了我们人眼能够分辨的速度。眼睛一眨,也许几M条指令已经执行过去了。
比如说数码管显示(假设有4位数码管)。平时我们看到数码管同时点亮着,但是实际上,这4个数码管是逐个扫描的。在任意一个时刻,只有一位数码管被点亮。在微观上,我们可以进一步把每位数码管的扫描动作细分为以下几个步骤:
1、关闭上一位数码管的位选信号;
2、输出当前位数码管的段选信号;
3、开启当前位数码管的位选信号;
4、启动1ms延时;
5、延时结束后,指针移动到下一位数码管,并重复上述4个步骤,如此周而复始。
你看,这样是不是就像用一个慢镜头在分解显示扫描的动作了?
那么如何实现这个慢镜头呢?方法很多:
1、单步运行(需要仿真器支持);
2、在每一步分动作之后设立断点(需要仿真器支持);
3、在每一步分动作之后插入足够的延时,让我们肉眼可以看清楚这些分动作(不需要仿真器,适合烧片测试);
通过慢镜头的反复回放,我们就可以发现,到底是哪一个分动作出现了问题。
这个技巧,不仅仅适用于调试显示程序,也适用于按键扫描或其它模块。只要一个功能可以被细分为若干的动作,那么这一招“慢镜头分解法”都是可以使用的。
(未完待续,喜欢就顶)
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
瀚海----大连海事大学飞思卡尔智能车
LB1405/LBl415电平指示驱动电路
华为全新三折叠Mate XTs预计前期备货40-60万台
[原创]使用refgen提取C代码中的文档
MC1496构成的乘法检波器
苹果iPhone 17 Air国行无缘首发
用于信号完整性和可制造性的 PCB 设计方法
第一届飞思卡尔杯全国大学生智能车竞赛全程录象
收音机数字式频率显示器(C040、556)
磁带运动方向显示器
FLASH存储器的在系统编程及其在DSP系统中的应用
了解 CAM 标准化流程以及如何避免 CAM 停滞
电源和地平面在 PCB 设计中的重要性
RoseRT哪里有下载,大家把UML工具交流一下,如何?
SL322构成的可伸缩、光点显示的电平指示器
年过得好快,又得开始工作了:(
高级 PCB 布线策略
Diodes推出智能48通道LED驱动器, 搭载扫描矩阵技术
建造标准刚性多层 PCB 的逐步指南
ESD EMP对单片机的辐照效应实验及加固方法
第三届全国大学生智能车大赛-全国亚军决赛视频
HPI方式自举在TMS320VC5402 DSP芯片上的实现
火星探索者机器人平台小车平台开发板红外遥控,爬坡
一键性能暴涨,英特尔APO技术有多神?
请教TCP强人,“embryonic connection dropped\"
智能推土车
请到软件工程版块作客
H.264视频解码器在C6416 DSP上的实现
GMS气象卫星云图实时数据录取和图像处理
长江存储加速产能扩张:新公司注册资本达207亿,其认缴出资104亿元