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

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 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 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

?

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


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


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


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


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


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


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

?


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


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


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


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


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


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


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


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


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

?


菜單部分的處理,采用的竟然是字符串的形式:每條菜單條目的定義,都是一個(gè)一維數(shù)組,即使是不同級的菜單中,相同的條目,也被定義為不同的一維數(shù)組。然后在通過函數(shù)調(diào)用各個(gè)數(shù)組,組成不同界面的菜單。這種做法,如果用于及少量文字顯示,是無可厚非的,但用于多級菜單處理,既浪費(fèi)代碼空間,而且調(diào)用的時(shí)候,也非常不便,因?yàn)榭雌饋砗芟嗨频淖址Q,會(huì)擾亂視聽,給編程者平添了很多麻煩和隱患。


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


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


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


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


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

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

?


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


“哪里有成竹啊,只不過想清楚了方案設(shè)計(jì)”,華容一邊整理手中的方案,一邊回答,今天她也不想加班,因?yàn)橛行坝媚X過度”了。


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


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


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


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


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


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


“看看你的手機(jī)短信。”


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


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


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

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

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

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

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

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

之三:被隱藏的Bug

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

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

摘要:經(jīng)過與燕飛中午的一番談話,華容不敢再對眼前的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)推心置腹的合作伙伴如今心有芥蒂...

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

《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)識別協(xié)會(huì)RFID行業(yè)標(biāo)準(zhǔn)的起草;歷任硬件工程師、主管設(shè)計(jì)師、項(xiàng)目經(jīng)理、部門經(jīng)理;2012年至今,就職于沈陽工學(xué)院,擔(dān)任電子信息工程專業(yè)教師,研究方向:自動(dòng)識別技術(shù)。已經(jīng)出版教材《自動(dòng)識別技術(shù)概論》,職場故事《51的蛻變 》。