SO技術分享之30 編程、棋類和寫作是公認為幾個比較鍛煉人思維的活動,不過這也是通過在長期練習在中后期能達到的思維佳、邏輯清晰的效果。假如是初識時,還是會覺得比較迷茫和混亂。不過一個好的邏輯結構,能快速地幫助進步。 一個好的程序結構,有助于理清思路、避免犯錯和遺漏。 本文介紹在單片機編程時做出較好的程序結構的方法,包括文件組織、C文件內代碼的組織等內容。 1、程序的組成 一般來說,一個程序由頭文件和C程序組成。頭文件用于定義,文件存儲的后綴為.h,C程序用于編寫實現功能的代碼,文件存儲的后綴為.c。 2、本文談及的程序結構的內容 一是一個工程里C文件的分配。如果一個工程里面有多個C文件,那么之前就需要對C文件進行一下分配。 C文件的分配可以按照功能來分配,可以按照部件(模塊)來分配,也可以按照執行過程來分配。其實第二第三種分配方式就是分別對應程序編程方法的面向對象和面向過程。 二是一個C程序里子程序的劃分。子程序的劃分比較簡單,一般按照一個功能或者一個任務來分一個子程序即可。 這幾種分配或者劃分的方法無所謂優劣,適用簡單即可。 3、一個單片機程序的標準結構
30.1.png (505.85 KB, 下載次數: 57)
下載附件
2022-3-19 12:37 上傳
其實標準結構也不是說非要一定這樣做,只是這樣做會比較好。 首先得載入頭文件,不管是系統頭文件還是自定義的頭文件,在這個程序里需要用到的都需要載入,如定義需要的相關子程序、引腳等。 如果要用到全局變量,那么全局變量等的定義一般也是需要的。 Main函數是一個工程里一定要有的,而且只能唯一。單片機執行程序時一定會運行到的程序就是main函數,其他子函數一般在main函數中被調用或者嵌套調用。如有開發定制項目需要,可Q:2531二六3726 子程序可以與main函數放在同一個C文件,也放在其他C文件里。放在其他C文件的話,可以通過引用頭文件來實現調用。 特殊子程序,如一些中斷子程序等,如果要用到那么也需要去定義和編寫。 4、一個例子
30.2.png (266.33 KB, 下載次數: 55)
下載附件
2022-3-19 12:37 上傳
圖 2是一個單片機程序的標準結構的例子,左邊project樹中包含了該工程的所有文件。在main.c文件中,先是引用相關頭文件,如引腳的定義就在其中一個頭文件里,接著是全局變量的定義,main.c文件中main函數是關鍵的程序,是一個單片機程序里一定會執行的程序,其他子程序在main函數中調用,具體的子程序代碼在其他C文件里,main函數中用while(1)執行反復循環。 本節完,精彩待續。
|