本帖最后由 doublers 于 2013-8-4 16:35 编辑
在包含自己的函数时大侠们说仅需包含函数的头文件即可(即.h文件),无需包含功能文件(即.c文件)。自己如是做却不能实现,不知何故。
如下程序要用到延时函数,按说只需#include "Delay.h"就可以了
但是我测试的时候必须#include "Delay.c",否则会报错,为什么?
如果将#include "Delay.c"语句屏蔽了会出现如下的错误提示:
Error[e46]: Undefined external "Delay" referred in test ( C:\Documents and Settings\Administrator\桌面\新建文件夹\Debug\Obj\test.r43 )
程序如下:
//程序功能:实现流水灯"流动"
//硬件电路:P2口接LED,低电平点亮
#include <msp430x16x.h> //包含头文件
#include "Delay.h" //包含自己函数的头文件
#include "Delay.c" //根据大侠们所说此条语句应该不需要啊?????
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗
P2SEL = 0; //设置P2口为I/O端口功能
P2DIR = 0xff; //设置P2口为输出状态;
while(1)
{
j=0xFE;
for(i=0;i<8;i++)
{
P2OUT=j;
j=j<<1|1;
Delay(3000);
}
P2OUT=0xff;
Delay(3000);
}
}
所包含的自己的函数内容:
===================================
"Delay.h"内容:
void Delay(int n);
================
"Delay.c"内容:
void Delay(int n)
{
while(n!=0)
{
n--;
}
}
=================
====================================
|