各位大侠:
请帮帮忙。
我在定时中断中遇到一个问题,变量 P_Timer,在定时中断中,运行正常,每执行一次定时中断,则 P_Timer 加1。
问题是我在主程序中需要调用这个变量P_Timer, 可在主程序中这个变量一直为0, 死活不动。
我用的芯片是MC9S08AW32。
下面是我的程序:
1、main.c
#define main
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
#include "TIMERI-8-14.H"
#undef main
static unsigned char p_slot;
void MCU_init(void) /* Device initialization function declaration */
{
ICGC2 = 0X00;
ICGC1 = 0X00;
}
void main(void) {
MCU_init();
TPM1SC=0X31;
TPM1MODH=0X00;
TPM1MODL=0X99;
TPM1SC=0X71;
InitTimerI();
P_Timer=0;
EnableInterrupts; /* enable interrupts */
while(1)
{
if(P_Timer >= 1)
{
p_slot++;
if (p_slot >= 5)
{
p_slot = 0;
}
}
}
}
2、TIMERI-8-14.C
#define timeri
#include "derivative.h"
#include "timeri-8-14.h"
#undef timeri
void InitTimerI(void)
{
P_Timer = 0;
}
void interrupt TIME1(void)
{
 _Timer++;
}
3、TIMERI-8-14.h
#ifdef EXT
#undef EXT
#endif#ifdef LOCAL_GLOBAL
#undef LOCAL_GLOBAL
#endif#ifdef timeri
#define LOCAL_GLOBAL
#else
#define EXT extern
#endif
#ifdef LOCAL_GLOBAL
#endif
#undef LOCAL_GLOBAL
EXT unsigned char P_Timer;
void InitTimerI(void);
有劳各位了。
[此贴子已经被作者于2006-8-14 14:05:25编辑过]
[此贴子已经被作者于2006-8-14 14:08:30编辑过]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |