找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4114|回复: 2
打印 上一主题 下一主题
收起左侧

对今天下午的经历的一些想法

[复制链接]
跳转到指定楼层
楼主
ID:26188 发表于 2010-12-5 20:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

今天整个下午,都在与一个大三的学长讨论51单片机串口通信的一段程序。

看似简单,寥寥数行,却花了四个小时,这四个小时对我来说过的值,给了我很多启示,所以想写这篇日志记录下来。

本来在其它的文献上找到过类似的程序,后来又在网上搜到一些例子,然后自已写出了一段,但调试就遇到问题,都是一些小的却又解决不了的问题,比如输出的字符串错位,中间有乱码,从理论上看程序一点问题都没有,但用起来就出问题,自己实在解决不了,只好请教学长。

问过好多人,都不大熟悉串口通讯,后来问了一个据说很厉害的学长,结果被教育了一通,他教育我,遇到问题要自己解决,不要依赖别人帮忙,从一个方面说,他的话也确实对,随着研究的深入,很多问题别人也不懂(事实上我把周围的人问了一圈,也确实没人懂),只有自己去研究,才能提高能力。

但是,这个问题其实我已经自己研究了一个星期了,被逼无奈才去找学长的。

下午的事情也能说明,如果只靠我自己,估计再给一个星期也不行,表面并不复杂的东西,涉及到的东西实在是太多了。

下午有个好心的学长来帮我,他学的是ARM,虽然对51不熟悉,但他能解决我的问题,给我的启示是,做研究,基础的原理一定要学好,以后即使遇到自己不懂的领域,都可以很容易的去解决,学长虽然连51的基本指令都不太熟悉,但他熟悉硬件原理,所以下午的讨论过程中,遇到的很多都是硬件的细节问题,这必须要思维缜密,熟悉硬件的人才能解决。

比如说,开始的程序里,格式没问题,理论也能解释通,但就是出问题,如果不是这位学长,谁能想到是因为寄存器存在反应时间,而数据发送过快,导致接收数据错位,也很难想到,仅仅少了两句在合适的位置打开关闭发送中断和接收中断,就有了那么大的差别,对于一个只懂程序,不懂硬件,或者只会编程,不懂基本原理的人,是不会想到问题出在哪里的。

想起两星期前,也是遇到电机不转的问题,怎么也弄不好,后来请了一个大四的,经验丰富的学长,同样是本以为简单的情况,学长调了好长时间,最后断定是开发板上的一个小排阻的问题,当时挺吃惊的,这些东西一旦跟硬件联系上了,问题真的要复杂十倍,出现问题时,程序跟硬件相比真的太简单了,这话不假。

还有个插曲,我去买那个型号的排阻,问老板多少钱,老板反问我要多少,我说要一个,老板鄙夷的斜视我,说我们都是一包一包卖的,我问老板一包有几个,老板微笑着说有两百个……

我一直想做科研,但我对待学习的态度确实不好,在学习单片的时候,我为了节省时间,略过了基础知识的习,直接学习我需要的部分,但现在来看,因为不懂基础,绕弯路花费的时间浪费的太多了。这真的是做学问的大忌。

那位学长还有一点很让我欣赏,就是他在查错的时候,思维的条理性,其实我也知道,查错能力是科研人员必须具备的能力之一,我知道它很重要,只是相比之下,我还是有些欠缺,还欠缺点条理。

这些需要在以后的时间里锻炼。

之前,我写这个程序一直停滞不前,要不是那位学长,我自己是不可能想到如何从硬件方面思考解决办法的,表面上简单的不能再简单的程序,涉及到硬件方面就相当难了。

这种方面真的是说着容易做着难呀。

总结下,今天提醒我的是一定注意自己查错能力的培养,还有对待基础知识的认真。我会好好努力的,希望我未来可以成为一名合格的科研工作者。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:24261 发表于 2010-12-6 10:27 | 只看该作者

理论和实际差距就是大,就像做仿真和硬件一样,仿真能出来,硬件就是出不来。同样的程序、同样的硬件,不同的人做出来的结果不一样。这些经验是课本上没有的,所以很宝贵,呵呵

回复

使用道具 举报

板凳
ID:19745 发表于 2010-12-6 20:05 | 只看该作者

路过顶一下

 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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