單片機C語言 -- 基於結構體的面向對象編程技巧

感謝閱讀本文,在接下來很長的一段時間裏,我將陸續分享項目實戰經驗。從電源、單片機、晶體管、驅動電路、顯示電路、有線通訊、無線通信、傳感器、原理圖設計、PCB設計、軟件設計、上位機等,給新手綜合學習的平臺,給老司機交流的平臺。所有文章來源於項目實戰,屬於原創。

閱讀說明:

1、Keil4 C51工程網址:
https://yunpan.360.cn/surl_yrNkQSrCKyc
2、需要一定的C語言基礎,纔看得懂此文。

一、面向對象
面向對象是軟件開發方法,是相對於面向過程來講的。通過把數據與方法組織爲一個整體來看待,從更高的層次來進行系統建模,更貼近事物的自然運行模式
單片機C語言的面向對象編程,是利用結構體,將變量、指針、函數等進行封裝,達到編程更加方便、程序可讀性更好、方便移植等目的。

二、知識說明
1、結構體
結構體是由一系列具有相同類型或不同類型的數據構成的數據集合。
常用的定義方法:
typedef struct
{
變量;
指針;
函數指針;
} 結構體名稱_t;

2、指針
指針是地址,指向內存中的變量。
常用的定義方法:數據類型 * 指針名;

3、函數指針
函數指針是指向函數的指針變量。
常用的定義方法:返回值類型 ( * 指針變量名) ([形參列表]);

三、編程說明
1、主函數如下:
在這裏插入圖片描述
系統初始化後,進入主循環,通過結構體調用system文件的函數。

2、結構體類型定義
在這裏插入圖片描述
定義1個變量與2個函數指針。
在這裏插入圖片描述
串口類型定義方法,通過結構體,將串口進行封裝。

3、結構體變量定義

在這裏插入圖片描述
定義結構體變量,並進行初始化。 對於函數指針,在c文件中定義函數,再將函數名賦值給函數指針,這樣,就可以通過結構體的函數指針調用c文件中的函數。

4、運行函數
在這裏插入圖片描述
由於使用結構體的函數指針調用函數,函數可以聲明爲static類型,安全性更好。

五、小結
單片機C語言的面向對象編程,是利用結構體,將變量、指針、函數等進行封裝,達到編程更加方便、程序可讀性更好、方便移植等目的。
面向對象編程的知識點很多,本文只是簡要的介紹了下,僅僅起到拋磚引玉的作用,日後設計過程中,需要不斷的總結經驗,溝通交流,以達到真正的理解,靈活運用。

歡迎加入硬件家園單片機學習羣,羣號925620931,別具一格的單片機免費教學,以產品爲導向,一起做項目。
開源項目,開發工具,技術資料以及更多原創技術文章,請關注微信公衆號。
硬件家園 yjjy168168168

在這裏插入圖片描述

作者:劉傑,軟硬件技術10年,全職提供技術開發與技術服務、生產支持等。

發佈了21 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章