2019-03-07 09:27:50分類:硬件開發(fā)8687
現(xiàn)在來分享一下我和隊(duì)友做小項(xiàng)目走的流程。(這些經(jīng)驗(yàn)僅供參考,愿你們棄其糟粕,取其精華)
以下是我從若干個項(xiàng)目中總結(jié)下來的理論,記住實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)!大家加油吧,在你們的項(xiàng)目中,你們可以嘗試使用下面的方法。
1、確定項(xiàng)目功能
和隊(duì)友討論你們要做的項(xiàng)目具有哪些功能,各功能可行性是怎么樣的,需要使用哪些元器件來完成這些功能,有沒有相關(guān)的產(chǎn)品或者作品參考,分析,討論寫下詳細(xì)的作品說明書。
事先一定要確定好作品說明書,后期制作基本都是參考說明書(后期可以繼續(xù)完善說明書)
一般這步結(jié)束后,會有如下幾個文檔
a.作品詳情思維導(dǎo)圖
b.作品功能說明書(實(shí)現(xiàn)那些功能,項(xiàng)目要求是啥)
c.作品方案設(shè)計文檔(用哪些東西,有哪些替代方案)
2、收集相關(guān)資料
包括芯片數(shù)據(jù)手冊
模塊使用手冊
參考例程
相關(guān)作品資料
3、搭出硬件測試環(huán)境
用最小系統(tǒng)板+模塊+自己焊的小電路搭建出硬件測試環(huán)境
4、用viso畫出程序流程圖
微軟的viso畫圖軟件很好用,需要學(xué)會畫程序流程圖。(團(tuán)隊(duì)間可以一起討論)程序流程圖搞定,整個程序的邏輯寫起來就簡單了。程序流程圖怎么畫?這里無法表達(dá)清楚,僅做提示:
完成系統(tǒng)初始化,設(shè)置標(biāo)志位,根據(jù)標(biāo)志位執(zhí)行動作
5、將各模塊各功能分而治之
(分文件寫驅(qū)動代碼)
這個很重要,方便以后程序的移植!所以最好不要在同一個文件中寫不同模塊的功能代碼!不要!不要!不要!
6、分功能測試驅(qū)動代碼(分功能寫出測試程序)
之前大二上學(xué)期的時候做過若干的小項(xiàng)目,都沒考慮過這步,而是直接上手集成所有代碼于一個項(xiàng)目下,然而集成完成后發(fā)現(xiàn)功能無法正常實(shí)現(xiàn)。然后就查bug,查bug,查bug,查bug。由于代碼太多,bug很難查的。所以很蛋疼,而且費(fèi)了很多時間,還不一定能查出來。
也就是說我認(rèn)為比較正確的方法是:把一個大工程分解成各個小工程,每個小工程呢,只實(shí)現(xiàn)其中的一項(xiàng)小功能,實(shí)現(xiàn)完成后,再將測試通過的驅(qū)動代碼,放到大工程下。
總結(jié)起來就是:分模塊,分功能寫驅(qū)動測試工程。說起來全是淚,都是自己摸索出來的。
7、整合測試通過的驅(qū)動文件
驅(qū)動文件全部測試通過后,就可以集成到一個項(xiàng)目下了,同時主文件中的函數(shù)也可以根據(jù)程序流程圖進(jìn)行編寫邏輯了
如果需要畫pcb電路板的話還需要做如下流程
8、根據(jù)確定好的io口,畫電路原理圖
(期間可能會用到模電相關(guān)知識)
9、pcb布局布線,開板,焊板
布局布線也要分模塊畫。
10、分模塊調(diào)試pcb硬件
硬件調(diào)試期間會教你熟練使用萬用表和示波器等(PS說多了也是淚)。期間芯片有可能焊接出問題,引腳電平輸出有問題。這些的測試我們常采用 寫出讓芯片引腳高低電平變換的代碼,然后用萬用表進(jìn)行測量。