新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)CCS之C語言(#IFDEF,#ENDIF的用法)

PIC單片機(jī)CCS之C語言(#IFDEF,#ENDIF的用法)

作者: 時(shí)間:2016-11-17 來源:網(wǎng)絡(luò) 收藏
#IFDEF

#IFNDEF

本文引用地址:http://butianyuan.cn/article/201611/315396.htm

#ELSE

#ELIF

#ENDIF

語法: #ifdef id

cide

#elif

code

#else

code

#endif

#ifndef id

code

#elif

code

#else

code

#endif

id是一個預(yù)處理器標(biāo)識符,code是一段有效的C源程序.

目的:這個指示的執(zhí)行同#IF相似.在#IF里,如果指定的ID(用#DEFINE 創(chuàng)建的ID)對預(yù)處理器來說是已知的, 預(yù)處理器完全可以檢查到它;而在#IFDEF里,如果ID被定義了,則預(yù)處理器可以檢查到它,若沒有定義ID,則#IFNDEF可以檢查到它.

例子:

#define debug //定義debug

#ifdef debug //因?yàn)閐ebug在前面已定義,所以可執(zhí)行printf

printf(“debug poit a”);

#endif

例子文件:ex_sqw.c在前面已介紹過了

#INCLUDE

語法: #include

#include “filename”

filename是一個有效的PC文件名.它包括標(biāo)準(zhǔn)的驅(qū)動和路徑信息.帶有”.encrypted”擴(kuò)展名的是一個有效的PC文件名.標(biāo)準(zhǔn)的編譯器#include directive會接受帶有這種擴(kuò)展名的文件,將它們譯成可讀的.這允許包含的文件被分配,但不釋放出其源程序代碼.

目的:來自指定文件的的字符用作編輯的指針.如果沒有將完整的路徑指定給編譯器, 編譯器將使用指定的目錄的列表為project搜查文件.若文件名在“…”里,那么主源程序文件所在的目錄首先被搜查.若文件名在<…>里, 那么主源程序文件所在的目錄最后被搜查.

例子:#include <16c54.h>

#include

例子文件:ex_sqw.c在前面已介紹過了

#INT_GLOBAL

語法: #int_global

目的:這種指示將引起下面的函數(shù)代替編譯器產(chǎn)生中斷. 函數(shù)通常不要求,而用來產(chǎn)生警告.當(dāng)使用#int_global時(shí),編譯器不產(chǎn)生啟動代碼或清除代碼,也不存入寄存器.

例子:#int_global

isr(){ //將被定位在地址0x0004處

#asm

bsf isr_flug

retfie

#endasm

}

例子文件:ex_glint.c在前面已介紹過了



評論


技術(shù)專區(qū)

關(guān)閉