原创 单片机C语言日记十二

2008-12-25 20:55 2143 2 2 分类: MCU/ 嵌入式

函数:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


1.函数的定义


函数的使用必须“先定义,后使用”。


形式:


返回值类型 函数名(形式参数声明)


{


声明部分


语句序列


}


函数定义中省略了返回值类型,则默认为int类型。


函数间的通信通过参数、函数返回值以及外部变量进行。


2.函数的调用


在一个函数体中引用另一个已经定义的函数,前者称为主调用函数,后者称为被调用函数。


形式:函数名(实际参数)


三种调用方式:


1)函数语句;


2)函数表达式


3)函数参数。


函数定义中出现的变量称为形式参数,函数调用出现的与形式参数对应的值称为实际参数。


形式参数在未发生调用前不占内存单元,只有发生调用后才分配内存单元,同时获得从主调用函数中实际参数的值。


调用库函数和自定义函数(其他文件中)要用预处理命令#include将有关函数说明的头文件包含进来。


参数传递有单向传递和双向传递两种,单向传递(值传递)中,被调函数不能直接修改主调函数中变量的值;双向传递(地址传递)中,被调函数能访问和修改主调函数中对象的值。


C语言中的函数可以递归调用,即函数可以直接或间接调用自身。


形式:返回值类型 函数名(参数表) [reentrant]


3.中断服务函数


形式:


返回值类型 函数名(形式参数)[interrupt n] [using n]


规则:


1)中断函数不能进行参数传递;


2)中断函数没有返回值;


3)不可直接调用中断函数;


4)中断函数调用其他函数,则被调用函数所使用的寄存器组必须与中断函数相同;


5C51编译器从绝对地址8n3处产生一个中断向量,其中n为中断号。该向量包含一个到中断函数入口地址的绝对跳转。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条