werjufour

  • 2018-09-25
  • 回复了主题帖: 中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义?

    大神们,帮我瞧瞧,程序在附件里

  • 回复了主题帖: 中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义?

    ienglgge 发表于 2018-9-25 13:42 extern unsigned int ADCValue[6][32];  去掉extern,编译通过的话,就是没有定义这个数组。
    请大声帮我好好看看@dcexpert

  • 回复了主题帖: 中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义?

    lcofjp 发表于 2018-9-23 16:11 你需要在某个C文件中定义如下数组: unsigned int ADCValue[6][32]; 然后才可以在别的文件中引用
    在ADC1.C文件里面也定义了这个数组。主程序中还没有使用这个数组编译都通不过

  • 回复了主题帖: 中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义?

    ienglgge 发表于 2018-9-25 13:42 extern unsigned int ADCValue[6][32];  去掉extern,编译通过的话,就是没有定义这个数组。
    去掉extern也不行

  • 2018-09-23
  • 发表了主题帖: 中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义?

    中断服务函数放到一个单独的C文件里面,中断中全局变量数组该怎么定义才能使用? 在主程序和中断中都要用到这个数组。 我定义后编译通不过,发生这样的错误:ADC1.o(.text+0xae): In function `_ADC1Interrupt': C:\Users\Administrator\Desktop\AD\ADC1.c:61: undefined reference to `ADCValue' 不知道原因在哪里? 头文件如下: #ifndef ADC1_H #define ADC1_H #define AINPUTS 0xffex //Analog inputs 将复用引脚AN5设置为模拟输入引脚。 //#define AINPUTS 0xC0FF                 //Analog inputs 将复用引脚AN8~AN13这6个端口设置为模拟输入引脚。 /***声明全局变量****/ extern unsigned int ADCValue[6][32]; #endif 中断C源文件如下:(其他函数设置省略,直接给出中断服务函数) #include #include "ADC1.h" void __attribute__((interrupt,no_auto_psv)) _ADC1Interrupt(void) {         int n,*BufPtr;         char gNum;         if(AD1CON2bits.BUFS)                 BufPtr=&ADC1BUF0;                        //指针指向ADC1BUF0单元,取低8字缓冲器中的数据         else         BufPtr=&ADC1BUF8;                                //指针指向ADC1BUF8单元,取高8字缓冲器中的数据         for(n=0;n=32)gNum=0;         IFS0bits.AD1IF=0;              //清中断标 }

最近访客

< 1/1 >

统计信息

已有20人来访过

  • 芯币:293
  • 好友:5
  • 主题:18
  • 回复:117
  • 课时:--
  • 资源:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言