《嵌入式操作系統(tǒng)》課件-課前任務(wù) 0.3 32開發(fā)C語言宏指令作用及使用_第1頁
《嵌入式操作系統(tǒng)》課件-課前任務(wù) 0.3 32開發(fā)C語言宏指令作用及使用_第2頁
《嵌入式操作系統(tǒng)》課件-課前任務(wù) 0.3 32開發(fā)C語言宏指令作用及使用_第3頁
《嵌入式操作系統(tǒng)》課件-課前任務(wù) 0.3 32開發(fā)C語言宏指令作用及使用_第4頁
《嵌入式操作系統(tǒng)》課件-課前任務(wù) 0.3 32開發(fā)C語言宏指令作用及使用_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

STM32開發(fā)C語言宏指令作用及使用課前任務(wù)

目錄宏指令的組成作用文件包含宏指令中<>與“”的區(qū)別宏指令舉例一、宏指令的組成宏指令由“#”開頭+關(guān)鍵字組成。在源代碼程序中,這些命令一般放在源代碼文件的前面,稱為預(yù)處理部分。一、宏指令的組成常用宏指令功能介紹#include<XXX.h>#include“XXX.h”二、文件包含宏指令中<>與“”的區(qū)別

<>是編譯器在系統(tǒng)編譯器的函數(shù)庫自帶的頭文件里找名字相同的頭文件,如果沒有,編譯器就會(huì)報(bào)錯(cuò)?!啊笔蔷幾g器首先在用戶目錄下""中指定的位置查找,直接寫名字路徑的話,會(huì)在相對(duì)路徑里面查找。#include<XXX.h>#include“XXX.h”二、文件包含宏指令中<>與“”的區(qū)別

<>是編譯器在系統(tǒng)編譯器的函數(shù)庫自帶的頭文件里找名字相同的頭文件,如果沒有,編譯器就會(huì)報(bào)錯(cuò)。“”是編譯器首先在用戶目錄下“”中指定的位置查找,直接寫名字路徑的話,會(huì)在相對(duì)路徑里面查找。出錯(cuò)正確三、宏指令舉例include指令是“文件包含”指令。編譯器發(fā)現(xiàn)include指令后,就會(huì)尋找指令后面的文件名,并把這個(gè)文件的內(nèi)容包含到當(dāng)前文件中。被包含文件中的文本將替換源代碼文件中的include指令。三、宏指令舉例#include<文件名>#include“文件名”include指令有如下兩種形式include指令三、宏指令舉例#include<文件名>include指令有如下兩種形式include指令

使用尖括號(hào)表示編譯系統(tǒng)會(huì)到系統(tǒng)頭文件存放的目錄路徑去搜索系統(tǒng)頭文件,而不是在源文件目錄中查找。三、宏指令舉例#include<文件名>include指令有如下兩種形式include指令

使用雙引號(hào)表示編譯系統(tǒng)首先在當(dāng)前的源文件目錄中查找,若未找到才會(huì)到系統(tǒng)頭文件存放的目錄路徑去搜索系統(tǒng)頭文件。#include“文件名”三、宏指令舉例#include<文件名>#include“文件名”include指令有如下兩種形式include指令系統(tǒng)定義的頭文件通常使用尖括號(hào)用戶自定義的頭文件通常使用雙引號(hào)三、宏指令舉例include指令一條include命令只能指定一個(gè)被包含的文件,但文件包含允許嵌套,即在一個(gè)被包含的文件中又可以包含另一個(gè)文件。例如由于標(biāo)準(zhǔn)外設(shè)庫文件“stm32f10x.h”頭文件中就存放了STM32所有外設(shè)寄存器的定義、位定義、中斷向量表、存儲(chǔ)空間的地址映射等信息,所以所有的標(biāo)準(zhǔn)外設(shè)庫頭文件的第一行宏指令都是:#include“stm32f10x.h”。三、宏指令舉例#define指令C語言中允許用一個(gè)標(biāo)識(shí)符來表示一個(gè)字符串,稱為宏定義。宏定義的格式:#define標(biāo)識(shí)符(宏名)字符串。“宏代換”“宏展開”三、宏指令舉例#define指令C語言中允許用一個(gè)標(biāo)識(shí)符來表示一個(gè)字符串,稱為宏定義。宏定義的格式:#define標(biāo)識(shí)符(宏名)字符串。#defineFLASH_BASE((uint32_t)0x08000000)#definePI3.1415926#defineuintunsignedint//類型定義#defineLED1_OFFGPIO_SetBits(GPIOC,GPIO_Pin_0)#defineLED1_ONGPIO_ResetBits(GPIOC,GPIO_Pin_0)三、宏指令舉例#define指令C語言中允許用一個(gè)標(biāo)識(shí)符來表示一個(gè)字符串,稱為宏定義。宏定義的格式:#define標(biāo)識(shí)符(宏名)字符串。#defineFLASH_BASE((uint32_t)0x08000000)#definePI3.1415926#defineuintunsignedint//類型定義#defineLED1_OFFGPIO_SetBits(GPIOC,GPIO_Pin_0)#defineLED1_ONGPIO_ResetBits(GPIOC,GPIO_Pin_0)表示點(diǎn)亮LED1三、宏指令舉例#ifndef和#endif指令所有的STM32F10X標(biāo)準(zhǔn)外設(shè)庫的外設(shè)驅(qū)動(dòng)頭文件中都使用include宏指令包含了文件“stm32f10x.h”。C語言編譯器是不允許重復(fù)包含同一文件。代碼如下:#ifndef_STM32F10x_H#define_STM32F10x_H……/*代碼主體內(nèi)容*/#endif/*_STM32F10x_H*/未被宏定義被宏定義三、宏指令舉例#ifndef和#endif指令所有的STM32F10X標(biāo)準(zhǔn)外設(shè)庫的外設(shè)驅(qū)動(dòng)頭文件中都使用include宏指令包含了文件“stm32f10x.h”。C語言編譯器是不允許重復(fù)包含同一文件。代碼如下:#ifndef_STM32F10x_H#define_STM32F10x

溫馨提示

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

評(píng)論

0/150

提交評(píng)論