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

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

51的江湖 | 箭在弦上,該發(fā)就發(fā)

2015/05/21
4
閱讀需 13 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

?

這樣的項目,從零開始,需要極大的勇氣,是壯士斷腕般的勇氣。


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


但是,箭在弦上,不得不發(fā),現(xiàn)在已經(jīng)顧不上這些了。


“也許項目完工之后,幕后的謎題自然就水落石出了”,華容這樣安慰自己。而接下來事情的發(fā)展,再次證明了自己的推斷。


左手捧起日歷,右手拿起筆,在工作日記上,迅速地寫下項目的時間表:
可確定的日程:
1、確定用戶需求+重新規(guī)劃主菜單及主流程(半天,8.2);
2、調(diào)整程序架構(gòu)(1天,8.3);
3、交工前整機測試(4天,8.17-8.21,周末兩天占用1天);
不確定日程
1、重新設計功能模塊和子函數(shù)(待定:8.4-8.16,含兩個周末4天,各占1天);
2、初級測試???


列出了明確的日程后,再無奈地看看手頭的資料,手心已經(jīng)出汗了,但是沒辦法,只能硬著頭皮執(zhí)行自己的計劃。


首先是明確客戶的需求,對于一個項目來說,所需要的文字材料,正如此時她手里的A4紙一樣單薄。華容按照記錄的信息撥出了煙草局的號碼,同時右手把日記本翻開了新的一頁。

?


電話撥通了,接電話的正是聯(lián)系人—煙草局信息中心的洪主任,簡單寒暄之后,華容直奔主題:確認明確的需求,對方的態(tài)度一下子到了冰點:
“已經(jīng)談過兩次了,需求不是已經(jīng)明確了嗎?這時候兒了,還在問這個問題,華工,你們在搞什么?”。


“兩次?”華容遲疑了一下,調(diào)整了一下思路,以平和的語氣回答:
“洪主任,我是剛剛加入這個項目組的,與華工同姓,我是華容,負責顯示界面和流程設計的,今天華萍工程師不在公司,她說您是煙草局信息中心的主任,對業(yè)務需求非常熟悉,有助于對我們的項目的完善和優(yōu)化工作,所以推薦我與您聯(lián)系的,我打算請請教幾個問題,大概耽誤您10分鐘,可以嗎?”華容停了一下,伸手不打笑臉人,這是試探,也是談項目的技巧。無論如何,不能夠讓對方感覺到自己對項目一無所知,否則這個事情將無法進行了。


果然,順耳的話都愛聽,華容可以感覺到對方的語氣已經(jīng)是冰雪消融:“這樣啊,好吧,現(xiàn)在我剛好有時間,一個小時后有個會議,你最好抓緊時間問。”


有了突破口,接下來的事情就容易多了,華容一邊整理自己的設計思路,一邊確認PDA使用流程,并以最快的速度記錄下來:開機界面的主菜單顯示,二級菜單的進入和顯示的內(nèi)容,三級菜單與一二級菜單之間的切換,包括待采集信息的字段、條目和存儲的期限等。


也許是消除了隔閡,又或許是問題比較專業(yè),總之,在和諧的氣氛中完成了本次交流,看一下時間,近40分鐘,以“期待下次當面請教”作為結(jié)束語,華容適當?shù)亟Y(jié)束了談話。


明確了方案,理清了思路,華容開始對程序下手了。


當她打開程序文件,開始閱讀代碼的時候,暗自慶幸自己所作出的決定是正確的,而且是及時的。


主函數(shù)程序是由鍵盤掃描和串口接收的查詢組成的循環(huán)。鍵盤掃描是外部中斷方式,與自己的想法一致;串口數(shù)據(jù)的處理,雖然自己打算用串行中斷,但查詢方式也是很可行的,因此可以暫時不變。


但關(guān)于菜單的顯示部分,則可以完全放棄。

?


菜單部分的處理,采用的竟然是字符串的形式:每條菜單條目的定義,都是一個一維數(shù)組,即使是不同級的菜單中,相同的條目,也被定義為不同的一維數(shù)組。然后在通過函數(shù)調(diào)用各個數(shù)組,組成不同界面的菜單。這種做法,如果用于及少量文字顯示,是無可厚非的,但用于多級菜單處理,既浪費代碼空間,而且調(diào)用的時候,也非常不便,因為看起來很相似的字符串名稱,會擾亂視聽,給編程者平添了很多麻煩和隱患。


華容決定用自己最擅長的struct-結(jié)構(gòu)體,這樣做的優(yōu)點是:菜單條目清晰,編程容易,占用CODE空間小,函數(shù)調(diào)用接口簡單,入口函數(shù)只需要菜單的結(jié)構(gòu)體名稱或者菜單定義的虛擬編號,因此,每個界面的顯示,只不過是一個函數(shù)的調(diào)用,編程時既簡單又靈活。


RFID識讀部分,底層函數(shù)編寫得相當不錯,但是數(shù)據(jù)的讀寫操作方面,函數(shù)體邏輯過于復雜,因此也是需要放棄的。改用某塊化的方式,編寫兩個子函數(shù),分別實現(xiàn)read和write一個數(shù)據(jù)塊,然后再通過調(diào)用子函數(shù)的方式編寫,代碼看起來簡潔,而且便于調(diào)試和分析。


時鐘部分和FLASH的函數(shù)處理,是標準的demo代碼,底層函數(shù)無需修改,增加幾個子函數(shù)即可。


瀏覽完畢所有的源代碼,華容舒了一口氣,底層函數(shù)的代碼是沒有問題,那么這個項目已經(jīng)成功一半了。需要增加的處理主要是三個方面:


1、各級菜單的設計
三級菜單就可以滿足要求,菜單的內(nèi)容、功能及調(diào)用,通過溝通已經(jīng)確認;
2、射頻卡中巡檢數(shù)據(jù)的生成
根據(jù)對方的需求,每次巡檢數(shù)據(jù)需要來訪者的工號、到訪的時間和離開的時間,時間計時到分鐘,而且存在過零點計時的問題,因此該記錄可以用HEX格式,壓縮到16個字節(jié),這樣每條記錄只占用一個數(shù)據(jù)塊。
本項目用的是MIFARE ONE S50,第一個扇區(qū)的兩個數(shù)據(jù)塊可以用于存儲客戶的信息,其他15個扇區(qū),可以用來存儲45條巡檢記錄,而每個用戶,通常一個月可以被巡檢5-10次左右,這樣可以存儲至少3個月的數(shù)據(jù),然后以滾動存儲的方式,保存最新的45條數(shù)據(jù),完全可以滿足煙草局的需求。
3、數(shù)據(jù)的查詢和匯總
將每次的寫入射頻卡巡檢數(shù)據(jù)和走訪的客戶信息備份到PDA中,這個實現(xiàn)起來更容易,F(xiàn)LASH的空間是足夠的,只要順序?qū)懭刖涂梢裕?br /> 顯示分類匯總信息時,用遍歷的方法就可以,逐條顯示相關(guān)的信息。

上述三個問題,雖然有難度,但對于自己來說,在硬件沒有問題的情況下,是過程和結(jié)果是完全可控的,估算了一下大體的日程,雖然有些緊張,但項目是可以完成的,不過周末加班是避免不了的。大局已定,華容打算放松一下,泡一壺新茶,當她起身的時候,才發(fā)現(xiàn)辦公室里空蕩蕩的,只剩下兩個人:燕飛和自己,原來早已經(jīng)過了下班的時間。

?


“悠著點,下班了”,燕飛說,“看樣子,你是胸有成竹了?”


“哪里有成竹啊,只不過想清楚了方案設計”,華容一邊整理手中的方案,一邊回答,今天她也不想加班,因為有些“用腦過度”了。


“可以看一下嗎?”燕飛伸出細長的手指,指向華容手里的方案。


“當然可以”,把整理好的文字,雙手遞了過去。


燕飛迅速地瀏覽,然后也是雙手歸還,隨口問道:“聊聊你的想法,介意不?”一半是詢問,一半是命令的口氣。


“當然愿意,正打算向您請教呢?!比A容打理好背包,邊向外走邊說?!霸跁r間上和功能方面,項目雖然有難度,但是可以完成的,所以我打算按照自己的想法,重新規(guī)劃主流程和有關(guān)菜單的顯示系統(tǒng)。”


“這是什么邏輯?明知道有難度還要重新設計主流程,你沒發(fā)燒吧?”是戲謔的口氣。


“是這樣的,燕總”,華容連忙解釋,“原來的主流程和顯示部分,不適合多級菜單的處理,如果將就一下,也行,但是我擔心這種打補丁的方式會影響整個項目的進度,與其在一個不適合的系統(tǒng)上打補丁,不如重新設計,這樣至少可以保證效率和質(zhì)量,最重要的是可以滿足這個項目的需求和進度。”


“看看你的手機短信?!?/p>


“什么邏輯?”華容沒反應過來,對方的思維太跳躍了,疑惑地扭過頭來,看到的是一張似笑非笑的臉,還是沒懂,于是低頭翻看一下手機的信箱,最新的一條短息是燕飛的,打開信息,只有4個字:“從零開始”。


看來,作為技術(shù)總監(jiān),燕飛早已經(jīng)洞悉項目的內(nèi)容和當前產(chǎn)品的問題,所以與自己的見解相同。


“打住,別說‘所見略同’之類的套話”,沒等華容開口,燕飛先封住了華容的口,隨之口風一轉(zhuǎn),有些幽怨,“如果不是你接下了這個項目,那么承擔這個項目的就是我,重新規(guī)劃方案,也是我的想法?!?/p>

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

之一:部門重組,誰會出局?

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

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

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

之三:被隱藏的Bug

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

之三:要根據(jù)PCB設計程序,被算計了!

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

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

摘要:平心而論,華容覺得自己與華萍之間還談不上“默契”,因為到目前為止,這個詞只屬于當年那個team。是她在轉(zhuǎn)行之后,加入的第一個開發(fā)團隊—中鼎公司中文版ECR的項目組...

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

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

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

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


?

相關(guān)推薦

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

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