微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC单片机CCS之C语言(#IFDEF,#ENDIF的用法)

PIC单片机CCS之C语言(#IFDEF,#ENDIF的用法)

时间:11-17 来源:互联网 点击:
#IFDEF

#IFNDEF

#ELSE

#ELIF

#ENDIF

语法: #ifdef id

cide

#elif

code

#else

code

#endif

#ifndef id

code

#elif

code

#else

code

#endif

id是一个预处理器标识符,code是一段有效的C源程序.

目的:这个指示的执行同#IF相似.在#IF里,如果指定的ID(用#DEFINE 创建的ID)对预处理器来说是已知的, 预处理器完全可以检查到它;而在#IFDEF里,如果ID被定义了,则预处理器可以检查到它,若没有定义ID,则#IFNDEF可以检查到它.

例子:

#define debug //定义debug

#ifdef debug //因为debug在前面已定义,所以可执行printf

printf(“debug poit a”);

#endif

例子文件:ex_sqw.c在前面已介绍过了

#INCLUDE

语法: #include

#include “filename”

filename是一个有效的PC文件名.它包括标准的驱动和路径信息.带有”.encrypted”扩展名的是一个有效的PC文件名.标准的编译器#include directive会接受带有这种扩展名的文件,将它们译成可读的.这允许包含的文件被分配,但不释放出其源程序代码.

目的:来自指定文件的的字符用作编辑的指针.如果没有将完整的路径指定给编译器, 编译器将使用指定的目录的列表为project搜查文件.若文件名在“…”里,那么主源程序文件所在的目录首先被搜查.若文件名在<…>里, 那么主源程序文件所在的目录最后被搜查.

例子:#include <16c54.h>

#include

例子文件:ex_sqw.c在前面已介绍过了

#INT_GLOBAL

语法: #int_global

目的:这种指示将引起下面的函数代替编译器产生中断. 函数通常不要求,而用来产生警告.当使用#int_global时,编译器不产生启动代码或清除代码,也不存入寄存器.

例子:#int_global

isr(){ //将被定位在地址0x0004处

#asm

bsf isr_flug

retfie

#endasm

}

例子文件:ex_glint.c在前面已介绍过了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top