微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC 单片机 C 语言编程简介(2)

PIC 单片机 C 语言编程简介(2)

时间:11-22 来源:互联网 点击:

究其原因就是因为没有事先声明函数类型所致。

建议大家在编写一个函数的原代码时,立即将此函数的类型声明复制到原文件的起始

处,见例 11-1;或是复制到专门的包含头文件中,再在每个原程序模块中引用。

11.6.4 中断函数的实现

PICC 可以实现 C 语言的中断服务程序。中断服务程序有一个特殊的定义方法:

void interrupt ISR(void);

其中的函数名“ISR”可以改成任意合法的字母或数字组合,但其入口参数和返回参数类型

必须是“void”型,亦即没有入口参数和返回参数,且中间必须有一个关键词“interrupt”。

中断函数可以被放置在原程序的任意位置。因为已有关键词“interrupt”声明,PICC 在

最后进行代码连接时会自动将其定位到 0x0004 中断入口处,实现中断服务响应。编译器也

会实现中断函数的返回指令“retfie”。一个简单的中断服务示范函数如下:

void interrupt ISR(void) //中断服务程序

{

if (T0IE && T0IF)

{

T0IF = 0;

//在此加入 TMR0 中断服务

}


//判 TMR0 中断

//清除 TMR0 中断标志

if (TMR1IE && TMR1IF) //判 TMR1 中断

{

TMR1IF0;

//在此加入 TMR1 中断服务

}

}


//清除 TMR1 中断标志

//中断结束并返回


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

网站地图

Top