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