加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

51的江湖 | 時(shí)鐘亂碼幽靈般光顧了所有設(shè)備,追蹤尋跡趁勢(shì)撲捉?

2015/08/01
4
閱讀需 16 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

?

上文《物色一個(gè)得力的助手,測(cè)試工作事半功倍》中講到,華容從測(cè)試部門得到一個(gè)實(shí)習(xí)生林鴻陽,讓他幫忙測(cè)試設(shè)備的數(shù)據(jù),經(jīng)過一天的合作華容發(fā)現(xiàn)他雖然是一張白紙,但是很認(rèn)真,真是自己需要的幫手。

屋漏偏逢連夜雨。


真是的,越是怕什么越是來什么,雖然對(duì)于這個(gè)BUG心里已經(jīng)有所準(zhǔn)備,但是當(dāng)事實(shí)擺在眼前的時(shí)候,華容仍不免有些頭皮發(fā)麻。表面上的風(fēng)輕云淡,是給別人看的,內(nèi)心的七上八下,只有自己知道。


小林離開后,華容原地做了一個(gè)伸展動(dòng)作,緩解一下不安的情緒,然后一邊整理桌面上的文件,一邊安慰自己:“畢竟將故障再現(xiàn)了,這就是一個(gè)進(jìn)步,即使是‘幽靈’一現(xiàn),也比看不見、抓不到胡思亂想的結(jié)局好很多。”


事態(tài)的發(fā)展,推著她不得不抓緊應(yīng)用軟件程序的編寫和調(diào)試--在線升級(jí)程序的搶先版。
事實(shí)證明,合作的工作效率是非常高的。


正所謂“Two Heads Are Better Than One”,即使是小林這樣沒有經(jīng)驗(yàn)的“白紙”選手,對(duì)檢測(cè)程序的測(cè)試作用也是很大的。就測(cè)試工作而言,林鴻陽無異于是華容的替身和影子。接下來的日子,每天早晚兩次,華容例行檢查影子的測(cè)試報(bào)告,匯總詳情,然后為其答疑解惑,最后對(duì)檢測(cè)程序進(jìn)行微調(diào)(時(shí)鐘檢測(cè)除外),而且根據(jù)測(cè)試者的體會(huì)和建議,將程序增加了一個(gè)自動(dòng)模式:


自檢程序在啟動(dòng)之后,依次進(jìn)行自動(dòng)檢測(cè),如果沒有錯(cuò)誤便可以自動(dòng)進(jìn)入下一個(gè)項(xiàng)目,當(dāng)出現(xiàn)錯(cuò)誤的時(shí)候,將相應(yīng)的檢測(cè)結(jié)果顯示到LCD上,同時(shí)蜂鳴器發(fā)出報(bào)警音,用來提示測(cè)試者。當(dāng)測(cè)試者觀察到結(jié)果之后,按下“確認(rèn)”鍵,便可以運(yùn)行下一項(xiàng)。每一輪的檢測(cè)完畢后,將本輪測(cè)試的全部結(jié)果再顯示到LCD上,任何人對(duì)于這個(gè)結(jié)果都是一目了然。事實(shí)證明,改進(jìn)后的檢測(cè)程序效率和效果有明顯的提升。


有了這個(gè)助手,華容可以全身心地投入到在線升級(jí)程序的編寫和調(diào)試。


對(duì)于應(yīng)用軟件的編程,并不是華容的強(qiáng)項(xiàng),以前由于項(xiàng)目開發(fā)的原因,不得不對(duì)VC++強(qiáng)制充電,因此學(xué)會(huì)了使用API和MFC,進(jìn)行底層的數(shù)據(jù)的處理和通信,雖然功能界面非常簡(jiǎn)陋,但是在性能方面基本可以滿足項(xiàng)目所需,也算是自給自足了。不過,此后便留下了2個(gè)后遺癥:


一是:能夠自己做的,盡量不麻煩別人;
二是:在與別人合作之前,尤其在處理有關(guān)數(shù)據(jù)通信協(xié)議的時(shí)候,關(guān)于方案的合理性和可行性必先通過自己的驗(yàn)證。
這樣做的后果是無形中給自己增加了負(fù)擔(dān),但收獲也是巨大的,這就是增加了對(duì)項(xiàng)目的信心和可控性。


這個(gè)軟件也是如此,用的是MFC和API函數(shù),命名為ISP_Line。


在界面設(shè)計(jì)上,ISP_Line使用的是MFC單個(gè)對(duì)話框模式,所有的操作都在一個(gè)“面板”上,操作簡(jiǎn)單、直觀,包括:串口的選擇、波特率的設(shè)置、下載文件的選擇、操作結(jié)果的信息提示,以及4個(gè)相關(guān)的按鈕。實(shí)現(xiàn)的功能只有兩個(gè):數(shù)據(jù)的上傳和下載,上傳的是時(shí)鐘的測(cè)試記錄,下載的待升級(jí)程序的BIN文件。


API函數(shù)用于在數(shù)據(jù)通信方面的處理,一方面是由于API的程序代碼效率更高,更重要的原因是便于觀察通信過程中的每個(gè)細(xì)節(jié),在這方面,控件的效率是有折扣的。

?

與此同時(shí),經(jīng)過近4晝夜的測(cè)試,時(shí)鐘的亂碼顯現(xiàn),如“幽靈”一般,光顧了在不同編號(hào)的設(shè)備,最少的只有一次,最多的有10次。從結(jié)果上看,與用戶描述的情況基本一致:不一定什么時(shí)候,不一定是哪一臺(tái)設(shè)備,在上傳到后臺(tái)的記錄中,就會(huì)爆出一條錯(cuò)誤的記錄數(shù)據(jù)。


面對(duì)這個(gè)結(jié)果,ISP_Line剛好小試牛刀。


讀取時(shí)鐘的測(cè)試數(shù)據(jù),不必修改協(xié)議,只需將上傳數(shù)據(jù)的地址指向時(shí)鐘測(cè)試記錄的存儲(chǔ)區(qū)即可,然后將讀取的數(shù)據(jù)進(jìn)一步處理:將HEX格式轉(zhuǎn)換為ASCII碼,為了觀察方便,在每?jī)蓚€(gè)字符后面添加一個(gè)空格,每12個(gè)字符,即一條時(shí)鐘數(shù)據(jù),添加一個(gè)回車和換行,然后將數(shù)據(jù)逐條寫入指定的Clock.txt。上傳完畢后,用寫字板等工具打開txt文件即可進(jìn)行相關(guān)的查看。


文件順利生成,華容用EditPlus打開了Clock.txt,“幽靈”的真面目如實(shí)呈現(xiàn)在電腦的屏幕上:既有非法數(shù)據(jù),又有非法字符,尤其是非法字符A-F,隨機(jī)出現(xiàn)在時(shí)鐘數(shù)據(jù)的不同字段上,有的是出現(xiàn)在“秒”的位置,有的出現(xiàn)在“時(shí)”的位置,有的出現(xiàn)在“分”的位置,也有日期的位置。簡(jiǎn)單地統(tǒng)計(jì)了一下,日期的位置很少,多數(shù)都在時(shí)間的位置上。


“原來如此!”華容輕聲感嘆。


“這是什么意思?”一旁的林鴻陽則是一頭霧水。


“好吧,記得你說過,已經(jīng)看過M41T0的數(shù)據(jù)手冊(cè),是吧?”華容沒有直接回答他的問題,反而提問。


“嗯,看了”,小林有些緊張,不時(shí)地搓著手。


“那么是否還記得,芯片輸出的數(shù)據(jù)格式是類型的?”


“好像…,好像是十進(jìn)制的”,不大自信,回答的聲音比較小。


“確定嗎?十進(jìn)制的前面還有幾個(gè)字吧?”


“好像是二進(jìn)制格式的十進(jìn)制數(shù)據(jù),有些拗口,不太好記?!甭曇舾土恕?/p>


“記憶力不錯(cuò),一字不差。”華容嘴角掛著微笑,緩解了一下氣氛,“那么你理解含義嗎?”


“二進(jìn)制和十進(jìn)制都明白,但是…,但是合在一起描述,還是第一次聽說,所以不大明白”,小林繼續(xù)搓著手,顯得有些無助。


“別緊張,其實(shí)很簡(jiǎn)單,還是眼見為實(shí)吧。”華容一邊安慰對(duì)方,一邊迅速地打開工程文件,連接仿真器,運(yùn)行程序仿真,然后將斷點(diǎn)設(shè)置在調(diào)用讀取時(shí)鐘的函數(shù)Get_Clock的下一行,斷點(diǎn)停止后,將保存變量的數(shù)組添加到觀察區(qū),以HEX格式展開。

?


“現(xiàn)在的時(shí)間是9點(diǎn)12分56秒,看一下返回的數(shù)據(jù)內(nèi)容吧,與實(shí)際的時(shí)間是如何對(duì)應(yīng)的?!?/p>


屏幕上,數(shù)組中前三個(gè)字節(jié)的數(shù)據(jù)依次是0X56,0X12,0X09。華容用鼠標(biāo)指著數(shù)組的數(shù)據(jù)解釋:“第一個(gè)數(shù)據(jù)的含義是56秒,第二個(gè)數(shù)據(jù)的含義是12分鐘,第三個(gè)數(shù)據(jù)不用我解釋了吧?!?/p>


“哦,這樣啊,我懂了”,年輕的臉上洋溢著笑容。


“真的懂了?那么你知道這種數(shù)據(jù)的格式的名稱嗎?用這種格式來表示時(shí)鐘數(shù)據(jù)有什么好處?”華容乘勢(shì)追問。


“這種格式有點(diǎn)像BCD碼,但又不一樣,第一次遇到,所以還不知道確切的名字,更不知道它的好處了?!毙θ葸€掛在嘴角,但臉色有些窘迫,左手撓著頭,投來的是征求意見的目光,接著說:“我回去查查,再好好看看數(shù)據(jù)手冊(cè)?!?/p>


“好的,沒問題?!比A容表示贊同,想了一下,接著補(bǔ)充:“友情提示,有一種數(shù)據(jù)格式叫做‘壓縮BCD碼’,相信你會(huì)有所收獲的,然后明天我們討論一下如何對(duì)時(shí)鐘數(shù)據(jù)進(jìn)行糾錯(cuò)處理,怎么樣?”


“討論糾錯(cuò)問題?我們討論糾錯(cuò)的問題?是我和您一起討論嗎?”,年輕人詫異地問,顯然,華容的話題超出了他的意料。


“什么反應(yīng),變成復(fù)讀機(jī)了?”華容調(diào)侃了一下,笑著回答,“當(dāng)然是你了,我還有其他的助手嗎?”


“太好了,我這就回去準(zhǔn)備。”


林鴻陽步履匆匆,興高采烈地返回生產(chǎn)部,目送遠(yuǎn)去的背影,華容舒心得笑了:好奇而不張揚(yáng),這個(gè)年輕人具有從事研發(fā)工作的潛質(zhì)。


這么久了,她找到了培養(yǎng)的目標(biāo)。

與非網(wǎng)原創(chuàng)內(nèi)容,謝絕轉(zhuǎn)載!

內(nèi)容匯總:

之一:部門重組,誰會(huì)出局?

摘要:沈陽的一場(chǎng)大雪似乎也預(yù)示著公司的某些變動(dòng),果然在休整后的第二天得到了證實(shí),去掉一個(gè)部門,重組一個(gè)部門,孤立了一些人,拉攏了一些人,兵還是兵,將還是將...

之二:燙手的山芋,華工的困惑

摘要:部門雖然重新劃分,但辦公室里的格局和人員的位置都沒有變動(dòng),好像沒有發(fā)生任何事情。華容原本是個(gè)局部變量,從不參與本部門以外的事情,但這次人事變動(dòng),她的主管設(shè)計(jì)師的職位依舊,只不過屬性變成了全局變量...

之三:被隱藏的Bug

摘要:華工對(duì)自己的項(xiàng)目滿腹疑惑,后來在和燕飛的一場(chǎng)談話中了解到了很多緣由,看似表面風(fēng)光的銷售業(yè)績(jī)只有還有不為人知的秘密...

之四:要根據(jù)PCB設(shè)計(jì)程序,被算計(jì)了!

摘要:經(jīng)過與燕飛中午的一番談話,華容不敢再對(duì)眼前的PDA(手持機(jī))怠慢了,但是只有她自己清楚其中的問題:框圖已經(jīng)有了,芯片的資料可查,那么詳細(xì)的電路原理圖,就不再是問題,可是偏偏無人提供原理圖的電子版,害得她不得不自己動(dòng)手...

之五:憶當(dāng)年200K代碼聯(lián)調(diào)的默契

摘要:平心而論,華容覺得自己與華萍之間還談不上“默契”,因?yàn)榈侥壳盀橹?,這個(gè)詞只屬于當(dāng)年那個(gè)team。是她在轉(zhuǎn)行之后,加入的第一個(gè)開發(fā)團(tuán)隊(duì)—中鼎公司中文版ECR的項(xiàng)目組...

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

摘要:真正的交接開始了,果然不出華容的意料,華萍想盡辦法隱藏原理圖,讓她感到意外的是華容在兩年前已經(jīng)開始學(xué)習(xí)畫板子,而華容也知道她開始寫程序,曾經(jīng)推心置腹的合作伙伴如今心有芥蒂...

之七:箭在弦上,改發(fā)就發(fā)

摘要:華容冷靜地思考了一下整個(gè)“事件”進(jìn)展和所經(jīng)歷的“談話”,她認(rèn)定這個(gè)項(xiàng)目的背后,一定有不為自己所知的內(nèi)幕,尤其是與華萍的一番交涉,加上自己對(duì)她的了解,更加確認(rèn)了這一點(diǎn):這個(gè)項(xiàng)目不簡(jiǎn)單...

之八:PDA檢測(cè)有變,百里行程半九十

摘 要:華容向家里人“請(qǐng)假”,然后埋頭工作。按照既定的計(jì)劃,第9個(gè)工作日,進(jìn)行了網(wǎng)絡(luò)聯(lián)調(diào),包括終端與網(wǎng)卡服務(wù)器以及服務(wù)器與后臺(tái)軟件的通信,由于物理層 的協(xié)議沒變,數(shù)據(jù)層的定義和格式也沒有變化,變化的只是填充的內(nèi)容,因此,毫無懸念,網(wǎng)絡(luò)聯(lián)調(diào)順利通過,但是在PDA檢測(cè)的時(shí)候她卻沒有看到檢測(cè)文 檔...

之九:故友偶重逢,項(xiàng)目工期蓄意被減半

摘要:由于項(xiàng)目工期緊張,華容從制定方案到實(shí)施方案,加班加點(diǎn),甚至向家人請(qǐng)假,最后終于如期測(cè)試通過,在驗(yàn)收的時(shí)候她偶爾遇到了以前的合作伙伴林杰森,也是這次偶遇讓她知道了自己的項(xiàng)目工期被壓縮減半...

之十:你可以暗算我,但是擋不住我的技術(shù)比你強(qiáng)

摘要:煙草局的項(xiàng)目驗(yàn)收完成以后,華容終于松了一口氣,但是被壓縮工期的陰影始終縈繞心頭,以至于想起來心中難受。某一天華萍的項(xiàng)目組出了一個(gè)搞不定的Bug,于是要求華容過去解決...

之十一:設(shè)備出現(xiàn)“幽靈” Bug,華容奔赴現(xiàn)場(chǎng)“救火”

摘要:煙草局的項(xiàng)目忽然出變,原本都測(cè)試通過的設(shè)備有好幾臺(tái)被退回,華容展開緊張地測(cè)試,后來發(fā)現(xiàn)是板子上的一顆芯片型號(hào)...

之十二:新官上任以后的裁員風(fēng)波

摘要:一天發(fā)布在OA里的一條最新消息,如一石激起千層浪,波及到了公司的各個(gè)角落—有史以來,SD公司第一次裁員。這則消息,如同前天的暴風(fēng)雪一樣,來勢(shì)兇猛,威力強(qiáng)大...

之十三:公司技術(shù)大牛,裁員中你被誰害了?

摘要:岳海上任后開始了第一次裁員風(fēng)暴,楊玉庭本來不在名單了,但是因?yàn)槟挲g偏大而成了這次裁員的犧牲品...

之十四:為研發(fā)爭(zhēng)取時(shí)間和資源,華容對(duì)岳海的博弈

摘要:華容、岳海以及燕飛坐下來討論項(xiàng)目的執(zhí)行策略,由于已經(jīng)提前知道岳海的態(tài)度,華容提出項(xiàng)目進(jìn)展中的各種問題,最后為項(xiàng)目爭(zhēng)取了時(shí)間和資源...

之十五:舉重若輕,研發(fā)計(jì)劃已然成竹在胸

摘要:華容制定了一套嚴(yán)謹(jǐn)?shù)难邪l(fā)計(jì)劃,而她最擅長(zhǎng)的射頻卡的讀寫距離問題。這個(gè)問題對(duì)于其他人來說,也許高難的,但對(duì)于她來說幾乎談不上難度,只不過是一、兩個(gè)小時(shí)的問題...

之十六:物色一個(gè)得力的助手,測(cè)試工作事半功倍

摘要:華容準(zhǔn)備好測(cè)試流程,發(fā)現(xiàn)需要個(gè)測(cè)試助手,人選哪里來?經(jīng)過與測(cè)試部的商議從中抽出一個(gè)新來的實(shí)習(xí)生林鴻陽幫助華容完成測(cè)試,經(jīng)過一天的試用,華容發(fā)現(xiàn)小林出乎意料地滿足自己的需求...

本系列為付麗華老師原創(chuàng)故事《51的江湖》連載,故事中有職場(chǎng),故事中還有技術(shù),最真實(shí)的項(xiàng)目案例與大家一起探討。每周一期,更多內(nèi)容請(qǐng)查看:

《51的江湖》:以小說體的形式講解技術(shù)

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

1996畢業(yè)于華東理工大學(xué)自控系,同年7月進(jìn)入某大型國企擔(dān)任電氣員。2000年轉(zhuǎn)行從事硬件研發(fā)相關(guān)工作;后從事RFID相關(guān)產(chǎn)品的研發(fā)、設(shè)計(jì),曾參與中國自動(dòng)識(shí)別協(xié)會(huì)RFID行業(yè)標(biāo)準(zhǔn)的起草;歷任硬件工程師、主管設(shè)計(jì)師、項(xiàng)目經(jīng)理、部門經(jīng)理;2012年至今,就職于沈陽工學(xué)院,擔(dān)任電子信息工程專業(yè)教師,研究方向:自動(dòng)識(shí)別技術(shù)。已經(jīng)出版教材《自動(dòng)識(shí)別技術(shù)概論》,職場(chǎng)故事《51的蛻變 》。