《嵌入式操作系統(tǒng)》課件-課前任務(wù) 0.5 32開(kāi)發(fā)C語(yǔ)言結(jié)構(gòu)體與指針枚舉_第1頁(yè)
《嵌入式操作系統(tǒng)》課件-課前任務(wù) 0.5 32開(kāi)發(fā)C語(yǔ)言結(jié)構(gòu)體與指針枚舉_第2頁(yè)
《嵌入式操作系統(tǒng)》課件-課前任務(wù) 0.5 32開(kāi)發(fā)C語(yǔ)言結(jié)構(gòu)體與指針枚舉_第3頁(yè)
《嵌入式操作系統(tǒng)》課件-課前任務(wù) 0.5 32開(kāi)發(fā)C語(yǔ)言結(jié)構(gòu)體與指針枚舉_第4頁(yè)
《嵌入式操作系統(tǒng)》課件-課前任務(wù) 0.5 32開(kāi)發(fā)C語(yǔ)言結(jié)構(gòu)體與指針枚舉_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

STM32開(kāi)發(fā)C語(yǔ)言結(jié)構(gòu)體與指針枚舉課前任務(wù)

目錄結(jié)構(gòu)體結(jié)構(gòu)體指針枚舉類(lèi)型一、結(jié)構(gòu)體結(jié)構(gòu)體是一個(gè)可以包含不同數(shù)據(jù)類(lèi)型成員的集合體,它是一種可以自己定義的數(shù)據(jù)類(lèi)型。

struct結(jié)構(gòu)名

對(duì)象名;

//“struct結(jié)構(gòu)名”就是結(jié)構(gòu)體的數(shù)據(jù)類(lèi)型名一、結(jié)構(gòu)體例如:在STM32標(biāo)準(zhǔn)外設(shè)庫(kù)的GPIO驅(qū)動(dòng)庫(kù)頭文件“stm32f10x_gpio.h”中,可以找到GPIO初始化使用的結(jié)構(gòu)體GPIO_lnitTypeDef。一、結(jié)構(gòu)體typedefstruct{uintl6_tGPIO_Pin;GPIO_Mode_TypeDefGPIO_Mode;GPIOSpeed_TypeDefGPIO_Speed;}GPIO_InitStructure;例如:第一個(gè)成員為GPIO引腳第二個(gè)成員的含義為指定GPIO引腳配置的工作模式第三個(gè)成員的含義是指定GPIO引腳輸出的最高頻率一、結(jié)構(gòu)體訪問(wèn)結(jié)構(gòu)體對(duì)象成員形式

訪問(wèn)結(jié)構(gòu)體對(duì)象成員時(shí)使用運(yùn)算符“點(diǎn)”,該運(yùn)算符稱(chēng)為句點(diǎn)運(yùn)算符,具體形式是“對(duì)象名.成員名”。一、結(jié)構(gòu)體訪問(wèn)結(jié)構(gòu)體對(duì)象成員形式定義結(jié)構(gòu)體變量及賦值例如:GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;二、結(jié)構(gòu)體指針結(jié)構(gòu)體指針定義

是一個(gè)結(jié)構(gòu)體變量在內(nèi)存中的地址,使用指針而不是直接使用變量,往往會(huì)帶來(lái)數(shù)據(jù)傳遞效率上的提升和靈活。二、結(jié)構(gòu)體指針結(jié)構(gòu)體變量作為函數(shù)參數(shù)的方法

相同結(jié)構(gòu)體的結(jié)構(gòu)體變量之間是可以相互賦值的,結(jié)構(gòu)體變量可以作為函數(shù)的參數(shù),也可以作為函數(shù)的返回值。第一種是將結(jié)構(gòu)體變量直接作為函數(shù)參數(shù),程序直觀易懂,但效率不是太高;第二種是將指向結(jié)構(gòu)體變量的指針作為函數(shù)參數(shù),這種方法開(kāi)銷(xiāo)較小,效率較高。voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct)二、結(jié)構(gòu)體指針結(jié)構(gòu)體變量作為函數(shù)參數(shù)的方法

相同結(jié)構(gòu)體的結(jié)構(gòu)體變量之間是可以相互賦值的,結(jié)構(gòu)體變量可以作為函數(shù)的參數(shù),也可以作為函數(shù)的返回值。第一種是將結(jié)構(gòu)體變量直接作為函數(shù)參數(shù),程序直觀易懂,但效率不是太高;第二種是將指向結(jié)構(gòu)體變量的指針作為函數(shù)參數(shù),這種方法開(kāi)銷(xiāo)較小,效率較高。voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct)結(jié)構(gòu)體指針二、結(jié)構(gòu)體指針結(jié)構(gòu)體指針成員賦值GPIO_InitStruct->GPIO_Mode==GPIO_Mode_Out_PP;

三、枚舉類(lèi)型宏指令“#define”三、枚舉類(lèi)型#define MON l#define TUE 2#define WED 3#define THU 4#define FRI 5#define SAT 6#define SUN 7枚舉型是一個(gè)集合三、枚舉類(lèi)型枚舉型是一個(gè)集合關(guān)鍵字為“enum”enumDAY{MON=1,TUE,WED,THU,FRI,SAT,SUN};#define MON l#define TUE 2#define WED 3#define THU 4#define FRI 5#define SAT 6#define SUN 7枚舉成員三、枚舉類(lèi)型例如:typedefenum{GPIO_Speed_10MHz=1,GPI0_Speed_2MHz,GPI

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論