南北西_1 发表于 2024-3-14 17:22:56

使用函数库定时中断中加的代码,编译不通过


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 18:49:57

本帖最后由 xiangzichen 于 2024-3-14 19:09 编辑

这个和中断没有啥关系吧.
下面这一堆都是 extern,
extern bit run_flay;
extern u16 temp_value;
extern u16 ten_value;
其他地方有不带extern的声明吗,如果没有,肯定是这个错误.

soma 发表于 2024-3-15 09:36:16

这是警告问题不大

carysun 发表于 2024-12-11 18:03:01

<p>我也同问!</p>
页: [1]
查看完整版本: 使用函数库定时中断中加的代码,编译不通过