?
上文《物色一個(gè)得力的助手,測(cè)試工作事半功倍》中講到,華容從測(cè)試部門(mén)得到一個(gè)實(shí)習(xí)生林鴻陽(yáng),讓他幫忙測(cè)試設(shè)備的數(shù)據(jù),經(jīng)過(guò)一天的合作華容發(fā)現(xiàn)他雖然是一張白紙,但是很認(rèn)真,真是自己需要的幫手。
屋漏偏逢連夜雨。
真是的,越是怕什么越是來(lái)什么,雖然對(duì)于這個(gè)BUG心里已經(jīng)有所準(zhǔn)備,但是當(dāng)事實(shí)擺在眼前的時(shí)候,華容仍不免有些頭皮發(fā)麻。表面上的風(fēng)輕云淡,是給別人看的,內(nèi)心的七上八下,只有自己知道。
小林離開(kāi)后,華容原地做了一個(gè)伸展動(dòng)作,緩解一下不安的情緒,然后一邊整理桌面上的文件,一邊安慰自己:“畢竟將故障再現(xiàn)了,這就是一個(gè)進(jìn)步,即使是‘幽靈’一現(xiàn),也比看不見(jiàn)、抓不到胡思亂想的結(jié)局好很多。”
事態(tài)的發(fā)展,推著她不得不抓緊應(yīng)用軟件程序的編寫(xiě)和調(diào)試--在線(xiàn)升級(jí)程序的搶先版。
事實(shí)證明,合作的工作效率是非常高的。
正所謂“Two Heads Are Better Than One”,即使是小林這樣沒(méi)有經(jīng)驗(yàn)的“白紙”選手,對(duì)檢測(cè)程序的測(cè)試作用也是很大的。就測(cè)試工作而言,林鴻陽(yáng)無(wú)異于是華容的替身和影子。接下來(lái)的日子,每天早晚兩次,華容例行檢查影子的測(cè)試報(bào)告,匯總詳情,然后為其答疑解惑,最后對(duì)檢測(cè)程序進(jìn)行微調(diào)(時(shí)鐘檢測(cè)除外),而且根據(jù)測(cè)試者的體會(huì)和建議,將程序增加了一個(gè)自動(dòng)模式:
自檢程序在啟動(dòng)之后,依次進(jìn)行自動(dòng)檢測(cè),如果沒(méi)有錯(cuò)誤便可以自動(dòng)進(jìn)入下一個(gè)項(xiàng)目,當(dāng)出現(xiàn)錯(cuò)誤的時(shí)候,將相應(yīng)的檢測(cè)結(jié)果顯示到LCD上,同時(shí)蜂鳴器發(fā)出報(bào)警音,用來(lái)提示測(cè)試者。當(dāng)測(cè)試者觀察到結(jié)果之后,按下“確認(rèn)”鍵,便可以運(yùn)行下一項(xiàng)。每一輪的檢測(cè)完畢后,將本輪測(cè)試的全部結(jié)果再顯示到LCD上,任何人對(duì)于這個(gè)結(jié)果都是一目了然。事實(shí)證明,改進(jìn)后的檢測(cè)程序效率和效果有明顯的提升。
有了這個(gè)助手,華容可以全身心地投入到在線(xiàn)升級(jí)程序的編寫(xiě)和調(diào)試。
對(duì)于應(yīng)用軟件的編程,并不是華容的強(qiáng)項(xiàng),以前由于項(xiàng)目開(kāi)發(fā)的原因,不得不對(duì)VC++強(qiáng)制充電,因此學(xué)會(huì)了使用API和MFC,進(jìn)行底層的數(shù)據(jù)的處理和通信,雖然功能界面非常簡(jiǎn)陋,但是在性能方面基本可以滿(mǎn)足項(xiàng)目所需,也算是自給自足了。不過(guò),此后便留下了2個(gè)后遺癥:
一是:能夠自己做的,盡量不麻煩別人;
二是:在與別人合作之前,尤其在處理有關(guān)數(shù)據(jù)通信協(xié)議的時(shí)候,關(guān)于方案的合理性和可行性必先通過(guò)自己的驗(yàn)證。
這樣做的后果是無(wú)形中給自己增加了負(fù)擔(dān),但收獲也是巨大的,這就是增加了對(duì)項(xiàng)目的信心和可控性。
這個(gè)軟件也是如此,用的是MFC和API函數(shù),命名為ISP_Line。
在界面設(shè)計(jì)上,ISP_Line使用的是MFC單個(gè)對(duì)話(huà)框模式,所有的操作都在一個(gè)“面板”上,操作簡(jiǎn)單、直觀,包括:串口的選擇、波特率的設(shè)置、下載文件的選擇、操作結(jié)果的信息提示,以及4個(gè)相關(guān)的按鈕。實(shí)現(xiàn)的功能只有兩個(gè):數(shù)據(jù)的上傳和下載,上傳的是時(shí)鐘的測(cè)試記錄,下載的待升級(jí)程序的BIN文件。
API函數(shù)用于在數(shù)據(jù)通信方面的處理,一方面是由于API的程序代碼效率更高,更重要的原因是便于觀察通信過(guò)程中的每個(gè)細(xì)節(jié),在這方面,控件的效率是有折扣的。
?
與此同時(shí),經(jīng)過(guò)近4晝夜的測(cè)試,時(shí)鐘的亂碼顯現(xiàn),如“幽靈”一般,光顧了在不同編號(hào)的設(shè)備,最少的只有一次,最多的有10次。從結(jié)果上看,與用戶(hù)描述的情況基本一致:不一定什么時(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è)回車(chē)和換行,然后將數(shù)據(jù)逐條寫(xiě)入指定的Clock.txt。上傳完畢后,用寫(xiě)字板等工具打開(kāi)txt文件即可進(jìn)行相關(guān)的查看。
文件順利生成,華容用EditPlus打開(kāi)了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í)間的位置上。
“原來(lái)如此!”華容輕聲感嘆。
“這是什么意思?”一旁的林鴻陽(yáng)則是一頭霧水。
“好吧,記得你說(shuō)過(guò),已經(jīng)看過(guò)M41T0的數(shù)據(jù)手冊(cè),是吧?”華容沒(méi)有直接回答他的問(wèn)題,反而提問(wèn)。
“嗯,看了”,小林有些緊張,不時(shí)地搓著手。
“那么是否還記得,芯片輸出的數(shù)據(jù)格式是類(lèi)型的?”
“好像…,好像是十進(jìn)制的”,不大自信,回答的聲音比較小。
“確定嗎?十進(jìn)制的前面還有幾個(gè)字吧?”
“好像是二進(jìn)制格式的十進(jìn)制數(shù)據(jù),有些拗口,不太好記?!甭曇舾土?。
“記憶力不錯(cuò),一字不差?!比A容嘴角掛著微笑,緩解了一下氣氛,“那么你理解含義嗎?”
“二進(jìn)制和十進(jìn)制都明白,但是…,但是合在一起描述,還是第一次聽(tīng)說(shuō),所以不大明白”,小林繼續(xù)搓著手,顯得有些無(wú)助。
“別緊張,其實(shí)很簡(jiǎn)單,還是眼見(jiàn)為實(shí)吧?!比A容一邊安慰對(duì)方,一邊迅速地打開(kāi)工程文件,連接仿真器,運(yùn)行程序仿真,然后將斷點(diǎn)設(shè)置在調(diào)用讀取時(shí)鐘的函數(shù)Get_Clock的下一行,斷點(diǎn)停止后,將保存變量的數(shù)組添加到觀察區(qū),以HEX格式展開(kāi)。
?
“現(xiàn)在的時(shí)間是9點(diǎn)12分56秒,看一下返回的數(shù)據(jù)內(nèi)容吧,與實(shí)際的時(shí)間是如何對(duì)應(yīng)的。”
屏幕上,數(shù)組中前三個(gè)字節(jié)的數(shù)據(jù)依次是0X56,0X12,0X09。華容用鼠標(biāo)指著數(shù)組的數(shù)據(jù)解釋?zhuān)骸暗谝粋€(gè)數(shù)據(jù)的含義是56秒,第二個(gè)數(shù)據(jù)的含義是12分鐘,第三個(gè)數(shù)據(jù)不用我解釋了吧。”
“哦,這樣啊,我懂了”,年輕的臉上洋溢著笑容。
“真的懂了?那么你知道這種數(shù)據(jù)的格式的名稱(chēng)嗎?用這種格式來(lái)表示時(shí)鐘數(shù)據(jù)有什么好處?”華容乘勢(shì)追問(wèn)。
“這種格式有點(diǎn)像BCD碼,但又不一樣,第一次遇到,所以還不知道確切的名字,更不知道它的好處了。”笑容還掛在嘴角,但臉色有些窘迫,左手撓著頭,投來(lái)的是征求意見(jiàn)的目光,接著說(shuō):“我回去查查,再好好看看數(shù)據(jù)手冊(cè)?!?/p>
“好的,沒(méi)問(wèn)題。”華容表示贊同,想了一下,接著補(bǔ)充:“友情提示,有一種數(shù)據(jù)格式叫做‘壓縮BCD碼’,相信你會(huì)有所收獲的,然后明天我們討論一下如何對(duì)時(shí)鐘數(shù)據(jù)進(jìn)行糾錯(cuò)處理,怎么樣?”
“討論糾錯(cuò)問(wèn)題?我們討論糾錯(cuò)的問(wèn)題?是我和您一起討論嗎?”,年輕人詫異地問(wèn),顯然,華容的話(huà)題超出了他的意料。
“什么反應(yīng),變成復(fù)讀機(jī)了?”華容調(diào)侃了一下,笑著回答,“當(dāng)然是你了,我還有其他的助手嗎?”
“太好了,我這就回去準(zhǔn)備?!?/p>
林鴻陽(yáng)步履匆匆,興高采烈地返回生產(chǎn)部,目送遠(yuǎn)去的背影,華容舒心得笑了:好奇而不張揚(yáng),這個(gè)年輕人具有從事研發(fā)工作的潛質(zhì)。
這么久了,她找到了培養(yǎng)的目標(biāo)。
與非網(wǎng)原創(chuàng)內(nèi)容,謝絕轉(zhuǎn)載!
內(nèi)容匯總:
摘要:沈陽(yáng)的一場(chǎng)大雪似乎也預(yù)示著公司的某些變動(dòng),果然在休整后的第二天得到了證實(shí),去掉一個(gè)部門(mén),重組一個(gè)部門(mén),孤立了一些人,拉攏了一些人,兵還是兵,將還是將...
摘要:部門(mén)雖然重新劃分,但辦公室里的格局和人員的位置都沒(méi)有變動(dòng),好像沒(méi)有發(fā)生任何事情。華容原本是個(gè)局部變量,從不參與本部門(mén)以外的事情,但這次人事變動(dòng),她的主管設(shè)計(jì)師的職位依舊,只不過(guò)屬性變成了全局變量...
摘要:華工對(duì)自己的項(xiàng)目滿(mǎn)腹疑惑,后來(lái)在和燕飛的一場(chǎng)談話(huà)中了解到了很多緣由,看似表面風(fēng)光的銷(xiāo)售業(yè)績(jī)只有還有不為人知的秘密...
之四:要根據(jù)PCB設(shè)計(jì)程序,被算計(jì)了!
摘要:經(jīng)過(guò)與燕飛中午的一番談話(huà),華容不敢再對(duì)眼前的PDA(手持機(jī))怠慢了,但是只有她自己清楚其中的問(wèn)題:框圖已經(jīng)有了,芯片的資料可查,那么詳細(xì)的電路原理圖,就不再是問(wèn)題,可是偏偏無(wú)人提供原理圖的電子版,害得她不得不自己動(dòng)手...
之五:憶當(dāng)年200K代碼聯(lián)調(diào)的默契
摘要:平心而論,華容覺(jué)得自己與華萍之間還談不上“默契”,因?yàn)榈侥壳盀橹?,這個(gè)詞只屬于當(dāng)年那個(gè)team。是她在轉(zhuǎn)行之后,加入的第一個(gè)開(kāi)發(fā)團(tuán)隊(duì)—中鼎公司中文版ECR的項(xiàng)目組...
摘要:真正的交接開(kāi)始了,果然不出華容的意料,華萍想盡辦法隱藏原理圖,讓她感到意外的是華容在兩年前已經(jīng)開(kāi)始學(xué)習(xí)畫(huà)板子,而華容也知道她開(kāi)始寫(xiě)程序,曾經(jīng)推心置腹的合作伙伴如今心有芥蒂...
摘要:華容冷靜地思考了一下整個(gè)“事件”進(jìn)展和所經(jīng)歷的“談話(huà)”,她認(rèn)定這個(gè)項(xiàng)目的背后,一定有不為自己所知的內(nèi)幕,尤其是與華萍的一番交涉,加上自己對(duì)她的了解,更加確認(rèn)了這一點(diǎn):這個(gè)項(xiàng)目不簡(jiǎn)單...
摘 要:華容向家里人“請(qǐng)假”,然后埋頭工作。按照既定的計(jì)劃,第9個(gè)工作日,進(jìn)行了網(wǎng)絡(luò)聯(lián)調(diào),包括終端與網(wǎng)卡服務(wù)器以及服務(wù)器與后臺(tái)軟件的通信,由于物理層 的協(xié)議沒(méi)變,數(shù)據(jù)層的定義和格式也沒(méi)有變化,變化的只是填充的內(nèi)容,因此,毫無(wú)懸念,網(wǎng)絡(luò)聯(lián)調(diào)順利通過(guò),但是在PDA檢測(cè)的時(shí)候她卻沒(méi)有看到檢測(cè)文 檔...
摘要:由于項(xiàng)目工期緊張,華容從制定方案到實(shí)施方案,加班加點(diǎn),甚至向家人請(qǐng)假,最后終于如期測(cè)試通過(guò),在驗(yàn)收的時(shí)候她偶爾遇到了以前的合作伙伴林杰森,也是這次偶遇讓她知道了自己的項(xiàng)目工期被壓縮減半...
之十:你可以暗算我,但是擋不住我的技術(shù)比你強(qiáng)
摘要:煙草局的項(xiàng)目驗(yàn)收完成以后,華容終于松了一口氣,但是被壓縮工期的陰影始終縈繞心頭,以至于想起來(lái)心中難受。某一天華萍的項(xiàng)目組出了一個(gè)搞不定的Bug,于是要求華容過(guò)去解決...
之十一:設(shè)備出現(xiàn)“幽靈” Bug,華容奔赴現(xiàn)場(chǎng)“救火”
摘要:煙草局的項(xiàng)目忽然出變,原本都測(cè)試通過(guò)的設(shè)備有好幾臺(tái)被退回,華容展開(kāi)緊張地測(cè)試,后來(lái)發(fā)現(xiàn)是板子上的一顆芯片型號(hào)...
摘要:一天發(fā)布在OA里的一條最新消息,如一石激起千層浪,波及到了公司的各個(gè)角落—有史以來(lái),SD公司第一次裁員。這則消息,如同前天的暴風(fēng)雪一樣,來(lái)勢(shì)兇猛,威力強(qiáng)大...
之十三:公司技術(shù)大牛,裁員中你被誰(shuí)害了?
摘要:岳海上任后開(kāi)始了第一次裁員風(fēng)暴,楊玉庭本來(lái)不在名單了,但是因?yàn)槟挲g偏大而成了這次裁員的犧牲品...
之十四:為研發(fā)爭(zhēng)取時(shí)間和資源,華容對(duì)岳海的博弈
摘要:華容、岳海以及燕飛坐下來(lái)討論項(xiàng)目的執(zhí)行策略,由于已經(jīng)提前知道岳海的態(tài)度,華容提出項(xiàng)目進(jìn)展中的各種問(wèn)題,最后為項(xiàng)目爭(zhēng)取了時(shí)間和資源...
摘要:華容制定了一套嚴(yán)謹(jǐn)?shù)难邪l(fā)計(jì)劃,而她最擅長(zhǎng)的射頻卡的讀寫(xiě)距離問(wèn)題。這個(gè)問(wèn)題對(duì)于其他人來(lái)說(shuō),也許高難的,但對(duì)于她來(lái)說(shuō)幾乎談不上難度,只不過(guò)是一、兩個(gè)小時(shí)的問(wèn)題...
之十六:物色一個(gè)得力的助手,測(cè)試工作事半功倍
摘要:華容準(zhǔn)備好測(cè)試流程,發(fā)現(xiàn)需要個(gè)測(cè)試助手,人選哪里來(lái)?經(jīng)過(guò)與測(cè)試部的商議從中抽出一個(gè)新來(lái)的實(shí)習(xí)生林鴻陽(yáng)幫助華容完成測(cè)試,經(jīng)過(guò)一天的試用,華容發(fā)現(xiàn)小林出乎意料地滿(mǎn)足自己的需求...
本系列為付麗華老師原創(chuàng)故事《51的江湖》連載,故事中有職場(chǎng),故事中還有技術(shù),最真實(shí)的項(xiàng)目案例與大家一起探討。每周一期,更多內(nèi)容請(qǐng)查看: