加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

51的江湖 | 时钟乱码幽灵般光顾了所有设备,追踪寻迹趁势扑捉?

2015/08/01
4
阅读需 16 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

 

上文《物色一个得力的助手,测试工作事半功倍》中讲到,华容从测试部门得到一个实习生林鸿阳,让他帮忙测试设备的数据,经过一天的合作华容发现他虽然是一张白纸,但是很认真,真是自己需要的帮手。

屋漏偏逢连夜雨。


真是的,越是怕什么越是来什么,虽然对于这个BUG心里已经有所准备,但是当事实摆在眼前的时候,华容仍不免有些头皮发麻。表面上的风轻云淡,是给别人看的,内心的七上八下,只有自己知道。


小林离开后,华容原地做了一个伸展动作,缓解一下不安的情绪,然后一边整理桌面上的文件,一边安慰自己:“毕竟将故障再现了,这就是一个进步,即使是‘幽灵’一现,也比看不见、抓不到胡思乱想的结局好很多。”


事态的发展,推着她不得不抓紧应用软件程序的编写和调试--在线升级程序的抢先版。
事实证明,合作的工作效率是非常高的。


正所谓“Two Heads Are Better Than One”,即使是小林这样没有经验的“白纸”选手,对检测程序的测试作用也是很大的。就测试工作而言,林鸿阳无异于是华容的替身和影子。接下来的日子,每天早晚两次,华容例行检查影子的测试报告,汇总详情,然后为其答疑解惑,最后对检测程序进行微调(时钟检测除外),而且根据测试者的体会和建议,将程序增加了一个自动模式:


自检程序在启动之后,依次进行自动检测,如果没有错误便可以自动进入下一个项目,当出现错误的时候,将相应的检测结果显示到LCD上,同时蜂鸣器发出报警音,用来提示测试者。当测试者观察到结果之后,按下“确认”键,便可以运行下一项。每一轮的检测完毕后,将本轮测试的全部结果再显示到LCD上,任何人对于这个结果都是一目了然。事实证明,改进后的检测程序效率和效果有明显的提升。


有了这个助手,华容可以全身心地投入到在线升级程序的编写和调试。


对于应用软件的编程,并不是华容的强项,以前由于项目开发的原因,不得不对VC++强制充电,因此学会了使用API和MFC,进行底层的数据的处理和通信,虽然功能界面非常简陋,但是在性能方面基本可以满足项目所需,也算是自给自足了。不过,此后便留下了2个后遗症:


一是:能够自己做的,尽量不麻烦别人;
二是:在与别人合作之前,尤其在处理有关数据通信协议的时候,关于方案的合理性和可行性必先通过自己的验证。
这样做的后果是无形中给自己增加了负担,但收获也是巨大的,这就是增加了对项目的信心和可控性。


这个软件也是如此,用的是MFC和API函数,命名为ISP_Line。


在界面设计上,ISP_Line使用的是MFC单个对话框模式,所有的操作都在一个“面板”上,操作简单、直观,包括:串口的选择、波特率的设置、下载文件的选择、操作结果的信息提示,以及4个相关的按钮。实现的功能只有两个:数据的上传和下载,上传的是时钟的测试记录,下载的待升级程序的BIN文件。


API函数用于在数据通信方面的处理,一方面是由于API的程序代码效率更高,更重要的原因是便于观察通信过程中的每个细节,在这方面,控件的效率是有折扣的。

 

与此同时,经过近4昼夜的测试,时钟的乱码显现,如“幽灵”一般,光顾了在不同编号的设备,最少的只有一次,最多的有10次。从结果上看,与用户描述的情况基本一致:不一定什么时候,不一定是哪一台设备,在上传到后台的记录中,就会爆出一条错误的记录数据。


面对这个结果,ISP_Line刚好小试牛刀。


读取时钟的测试数据,不必修改协议,只需将上传数据的地址指向时钟测试记录的存储区即可,然后将读取的数据进一步处理:将HEX格式转换为ASCII码,为了观察方便,在每两个字符后面添加一个空格,每12个字符,即一条时钟数据,添加一个回车和换行,然后将数据逐条写入指定的Clock.txt。上传完毕后,用写字板等工具打开txt文件即可进行相关的查看。


文件顺利生成,华容用EditPlus打开了Clock.txt,“幽灵”的真面目如实呈现在电脑的屏幕上:既有非法数据,又有非法字符,尤其是非法字符A-F,随机出现在时钟数据的不同字段上,有的是出现在“秒”的位置,有的出现在“时”的位置,有的出现在“分”的位置,也有日期的位置。简单地统计了一下,日期的位置很少,多数都在时间的位置上。


“原来如此!”华容轻声感叹。


“这是什么意思?”一旁的林鸿阳则是一头雾水。


“好吧,记得你说过,已经看过M41T0的数据手册,是吧?”华容没有直接回答他的问题,反而提问。


“嗯,看了”,小林有些紧张,不时地搓着手。


“那么是否还记得,芯片输出的数据格式是类型的?”


“好像…,好像是十进制的”,不大自信,回答的声音比较小。


“确定吗?十进制的前面还有几个字吧?”


“好像是二进制格式的十进制数据,有些拗口,不太好记。”声音更低了。


“记忆力不错,一字不差。”华容嘴角挂着微笑,缓解了一下气氛,“那么你理解含义吗?”


“二进制和十进制都明白,但是…,但是合在一起描述,还是第一次听说,所以不大明白”,小林继续搓着手,显得有些无助。


“别紧张,其实很简单,还是眼见为实吧。”华容一边安慰对方,一边迅速地打开工程文件,连接仿真器,运行程序仿真,然后将断点设置在调用读取时钟的函数Get_Clock的下一行,断点停止后,将保存变量的数组添加到观察区,以HEX格式展开。

 


“现在的时间是9点12分56秒,看一下返回的数据内容吧,与实际的时间是如何对应的。”


屏幕上,数组中前三个字节的数据依次是0X56,0X12,0X09。华容用鼠标指着数组的数据解释:“第一个数据的含义是56秒,第二个数据的含义是12分钟,第三个数据不用我解释了吧。”


“哦,这样啊,我懂了”,年轻的脸上洋溢着笑容。


“真的懂了?那么你知道这种数据的格式的名称吗?用这种格式来表示时钟数据有什么好处?”华容乘势追问。


“这种格式有点像BCD码,但又不一样,第一次遇到,所以还不知道确切的名字,更不知道它的好处了。”笑容还挂在嘴角,但脸色有些窘迫,左手挠着头,投来的是征求意见的目光,接着说:“我回去查查,再好好看看数据手册。”


“好的,没问题。”华容表示赞同,想了一下,接着补充:“友情提示,有一种数据格式叫做‘压缩BCD码’,相信你会有所收获的,然后明天我们讨论一下如何对时钟数据进行纠错处理,怎么样?”


“讨论纠错问题?我们讨论纠错的问题?是我和您一起讨论吗?”,年轻人诧异地问,显然,华容的话题超出了他的意料。


“什么反应,变成复读机了?”华容调侃了一下,笑着回答,“当然是你了,我还有其他的助手吗?”


“太好了,我这就回去准备。”


林鸿阳步履匆匆,兴高采烈地返回生产部,目送远去的背影,华容舒心得笑了:好奇而不张扬,这个年轻人具有从事研发工作的潜质。


这么久了,她找到了培养的目标。

与非网原创内容,谢绝转载!

内容汇总:

之一:部门重组,谁会出局?

摘要:沈阳的一场大雪似乎也预示着公司的某些变动,果然在休整后的第二天得到了证实,去掉一个部门,重组一个部门,孤立了一些人,拉拢了一些人,兵还是兵,将还是将...

之二:烫手的山芋,华工的困惑

摘要:部门虽然重新划分,但办公室里的格局和人员的位置都没有变动,好像没有发生任何事情。华容原本是个局部变量,从不参与本部门以外的事情,但这次人事变动,她的主管设计师的职位依旧,只不过属性变成了全局变量...

之三:被隐藏的Bug

摘要:华工对自己的项目满腹疑惑,后来在和燕飞的一场谈话中了解到了很多缘由,看似表面风光的销售业绩只有还有不为人知的秘密...

之四:要根据PCB设计程序,被算计了!

摘要:经过与燕飞中午的一番谈话,华容不敢再对眼前的PDA(手持机)怠慢了,但是只有她自己清楚其中的问题:框图已经有了,芯片的资料可查,那么详细的电路原理图,就不再是问题,可是偏偏无人提供原理图的电子版,害得她不得不自己动手...

之五:忆当年200K代码联调的默契

摘要:平心而论,华容觉得自己与华萍之间还谈不上“默契”,因为到目前为止,这个词只属于当年那个team。是她在转行之后,加入的第一个开发团队—中鼎公司中文版ECR的项目组...

之六:软件和硬件,如今要彼此刮目相看

摘要:真正的交接开始了,果然不出华容的意料,华萍想尽办法隐藏原理图,让她感到意外的是华容在两年前已经开始学习画板子,而华容也知道她开始写程序,曾经推心置腹的合作伙伴如今心有芥蒂...

之七:箭在弦上,改发就发

摘要:华容冷静地思考了一下整个“事件”进展和所经历的“谈话”,她认定这个项目的背后,一定有不为自己所知的内幕,尤其是与华萍的一番交涉,加上自己对她的了解,更加确认了这一点:这个项目不简单...

之八:PDA检测有变,百里行程半九十

摘 要:华容向家里人“请假”,然后埋头工作。按照既定的计划,第9个工作日,进行了网络联调,包括终端与网卡服务器以及服务器与后台软件的通信,由于物理层 的协议没变,数据层的定义和格式也没有变化,变化的只是填充的内容,因此,毫无悬念,网络联调顺利通过,但是在PDA检测的时候她却没有看到检测文 档...

之九:故友偶重逢,项目工期蓄意被减半

摘要:由于项目工期紧张,华容从制定方案到实施方案,加班加点,甚至向家人请假,最后终于如期测试通过,在验收的时候她偶尔遇到了以前的合作伙伴林杰森,也是这次偶遇让她知道了自己的项目工期被压缩减半...

之十:你可以暗算我,但是挡不住我的技术比你强

摘要:烟草局的项目验收完成以后,华容终于松了一口气,但是被压缩工期的阴影始终萦绕心头,以至于想起来心中难受。某一天华萍的项目组出了一个搞不定的Bug,于是要求华容过去解决...

之十一:设备出现“幽灵” Bug,华容奔赴现场“救火”

摘要:烟草局的项目忽然出变,原本都测试通过的设备有好几台被退回,华容展开紧张地测试,后来发现是板子上的一颗芯片型号...

之十二:新官上任以后的裁员风波

摘要:一天发布在OA里的一条最新消息,如一石激起千层浪,波及到了公司的各个角落—有史以来,SD公司第一次裁员。这则消息,如同前天的暴风雪一样,来势凶猛,威力强大...

之十三:公司技术大牛,裁员中你被谁害了?

摘要:岳海上任后开始了第一次裁员风暴,杨玉庭本来不在名单了,但是因为年龄偏大而成了这次裁员的牺牲品...

之十四:为研发争取时间和资源,华容对岳海的博弈

摘要:华容、岳海以及燕飞坐下来讨论项目的执行策略,由于已经提前知道岳海的态度,华容提出项目进展中的各种问题,最后为项目争取了时间和资源...

之十五:举重若轻,研发计划已然成竹在胸

摘要:华容制定了一套严谨的研发计划,而她最擅长的射频卡的读写距离问题。这个问题对于其他人来说,也许高难的,但对于她来说几乎谈不上难度,只不过是一、两个小时的问题...

之十六:物色一个得力的助手,测试工作事半功倍

摘要:华容准备好测试流程,发现需要个测试助手,人选哪里来?经过与测试部的商议从中抽出一个新来的实习生林鸿阳帮助华容完成测试,经过一天的试用,华容发现小林出乎意料地满足自己的需求...

本系列为付丽华老师原创故事《51的江湖》连载,故事中有职场,故事中还有技术,最真实的项目案例与大家一起探讨。每周一期,更多内容请查看:

《51的江湖》:以小说体的形式讲解技术

相关推荐

电子产业图谱

1996毕业于华东理工大学自控系,同年7月进入某大型国企担任电气员。2000年转行从事硬件研发相关工作;后从事RFID相关产品的研发、设计,曾参与中国自动识别协会RFID行业标准的起草;历任硬件工程师、主管设计师、项目经理、部门经理;2012年至今,就职于沈阳工学院,担任电子信息工程专业教师,研究方向:自动识别技术。已经出版教材《自动识别技术概论》,职场故事《51的蜕变 》。