移動(dòng)端
方案網(wǎng)小程序
方案網(wǎng)手機(jī)端
加小編微信入群
發(fā)布成功
贊賞金額:
支付金額:5元
支付方式:
贊賞成功!
你的贊賞是對(duì)作者最大的肯定~?
【編者按】感謝閱讀本文,將基于單片機(jī)C語(yǔ)言,講述基于結(jié)構(gòu)體的面向?qū)ο缶幊碳记伞V饕獜闹R(shí)說明和編程說明兩大方面講述。作者擁有10年的單片機(jī)經(jīng)驗(yàn),通過實(shí)踐將知識(shí)提供給需要的工程師,讓更多的工程師從中所學(xué),從中受益。
閱讀說明:需要一定的C語(yǔ)言基礎(chǔ),才看得懂此文。
一、面向?qū)ο?/strong>
面向?qū)ο笫擒浖_發(fā)方法,是相對(duì)于面向過程來講的。通過把數(shù)據(jù)與方法組織為一個(gè)整體來看待,從更高的層次來進(jìn)行系統(tǒng)建模,更貼近事物的自然運(yùn)行模式
單片機(jī)C語(yǔ)言的面向?qū)ο缶幊蹋抢媒Y(jié)構(gòu)體,將變量、指針、函數(shù)等進(jìn)行封裝,達(dá)到編程更加方便、程序可讀性更好、方便移植等目的。
二、知識(shí)說明
1、結(jié)構(gòu)體
結(jié)構(gòu)體是由一系列具有相同類型或不同類型的數(shù)據(jù)構(gòu)成的數(shù)據(jù)集合。
常用的定義方法:
typedef struct
{
變量;
指針;
函數(shù)指針;
} 結(jié)構(gòu)體名稱_t;
2、指針
指針是地址,指向內(nèi)存中的變量。
常用的定義方法:數(shù)據(jù)類型 * 指針名;
3、函數(shù)指針
函數(shù)指針是指向函數(shù)的指針變量。
常用的定義方法:返回值類型 ( * 指針變量名) ([形參列表]);
三、編程說明
1、主函數(shù)如下:
系統(tǒng)初始化后,進(jìn)入主循環(huán),通過結(jié)構(gòu)體調(diào)用system文件的函數(shù)。
2、結(jié)構(gòu)體類型定義
定義1個(gè)變量與2個(gè)函數(shù)指針
串口類型定義方法,通過結(jié)構(gòu)體,將串口進(jìn)行封裝。
3、結(jié)構(gòu)體變量定義
定義結(jié)構(gòu)體變量,并進(jìn)行初始化。 對(duì)于函數(shù)指針,在c文件中定義函數(shù),再將函數(shù)名賦值給函數(shù)指針,這樣,就可以通過結(jié)構(gòu)體的函數(shù)指針調(diào)用c文件中的函數(shù)。
4、運(yùn)行函數(shù)
由于使用結(jié)構(gòu)體的函數(shù)指針調(diào)用函數(shù),函數(shù)可以聲明為static類型,安全性更好。
五、小結(jié)
單片機(jī)C語(yǔ)言的面向?qū)ο缶幊?,是利用結(jié)構(gòu)體,將變量、指針、函數(shù)等進(jìn)行封裝,達(dá)到編程更加方便、程序可讀性更好、方便移植等目的。
面向?qū)ο缶幊痰闹R(shí)點(diǎn)很多,本文只是簡(jiǎn)要的介紹了下,僅僅起到拋磚引玉的作用,日后設(shè)計(jì)過程中,需要不斷的總結(jié)經(jīng)驗(yàn),溝通交流,以達(dá)到真正的理解,靈活運(yùn)用。
作者介紹:劉工程師(筆名),在軟硬件技術(shù)上有10年的經(jīng)驗(yàn),在單片機(jī)的經(jīng)驗(yàn)更是突出,解決過多個(gè)單片機(jī)難題,可接單片機(jī)和軟件開發(fā)等項(xiàng)目。目前在開講單片機(jī)的教學(xué),教程會(huì)在我愛方案網(wǎng)更新,敬請(qǐng)期待!公眾號(hào)【硬件家園 】
版權(quán)聲明:本文為博主原創(chuàng),未經(jīng)本人允許,禁止轉(zhuǎn)載!