使用函数库定时中断中加的代码,编译不通过
void Timer0_ISR_Handler (void) interrupt TMR0_VECTOR //进中断时已经清除标志
{
run_flay=0;
temp_value=0;
ten_value=0;
SEG_Fre();
if(run_flay==1)
{
ten_value++; //每隔1ms加1
if(ten_value%10==0)temp_value++;
}
}
#ifndef __CONFIG_H
#define __CONFIG_H
//========================================================================
// 主时钟定义
//========================================================================
//#define MAIN_Fosc 22118400L //定义主时钟
//#define MAIN_Fosc 12000000L //定义主时钟
//#define MAIN_Fosc 11059200L //定义主时钟
//#define MAIN_Fosc 5529600L //定义主时钟
#define MAIN_Fosc 24000000L //定义主时钟
//========================================================================
// 头文件
//========================================================================
#include "type_def.h"
#include "stc32g.h"
#include <stdlib.h>
#include <stdio.h>
//========================================================================
// 外部函数和变量声明
//========================================================================
extern bit run_flay;
extern u16 temp_value;
extern u16 ten_value;
#endif
编译的结果
Build target 'Target 1'
linking...
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL:temp_value
MODULE:.\list\main.obj (main)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL:ten_value
MODULE:.\list\main.obj (main)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL:delay_ms
MODULE:.\list\main.obj (main)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL:run_flay
MODULE:.\list\main.obj (main)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL:sys_init
MODULE:.\list\main.obj (main)
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:sys_init
MODULE:.\list\main.obj (main)
ADDRESS: FF02C0H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:delay_ms
MODULE:.\list\main.obj (main)
ADDRESS: FF02D2H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:run_flay
MODULE:.\list\main.obj (main)
ADDRESS: FF02E1H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:temp_value
MODULE:.\list\main.obj (main)
ADDRESS: FF02EAH
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:ten_value
MODULE:.\list\main.obj (main)
ADDRESS: FF02EEH
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:run_flay
MODULE:.\list\main.obj (main)
ADDRESS: FF02F1H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:run_flay
MODULE:.\list\main.obj (main)
ADDRESS: FF02F8H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:temp_value
MODULE:.\list\main.obj (main)
ADDRESS: FF0310H
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL:temp_value
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL:ten_value
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
*** ERROR L127: UNRESOLVED EXTERNAL SYMBOL
SYMBOL:run_flay
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:run_flay
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
ADDRESS: FF0362H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:temp_value
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
ADDRESS: FF0367H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:ten_value
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
ADDRESS: FF036BH
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:run_flay
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
ADDRESS: FF0371H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:ten_value
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
ADDRESS: FF0379H
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:ten_value
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
ADDRESS: FF037FH
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:temp_value
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
ADDRESS: FF038DH
*** ERROR L128: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL:temp_value
MODULE:.\list\STC32G_Timer_Isr.obj (STC32G_Timer_Isr)
ADDRESS: FF0393H
Program Size: data=8.0 edata+hdata=302 xdata=0 const=61 code=1089
Target not created.
Build Time Elapsed:00:00:00
这是什么问题?
本帖最后由 xiangzichen 于 2024-3-14 19:09 编辑
这个和中断没有啥关系吧.
下面这一堆都是 extern,
extern bit run_flay;
extern u16 temp_value;
extern u16 ten_value;
其他地方有不带extern的声明吗,如果没有,肯定是这个错误. 这是警告问题不大 <p>我也同问!</p>
页:
[1]