初级会员

- 积分
- 69
- 金钱
- 69
- 注册时间
- 2018-12-13
- 在线时间
- 10 小时
|
2金钱
我测试过下面的代码(有些疑惑期待大家的解惑)当main()函数部分如下:
int main(void)
{
extern int flag_adc;//2é¼ˉ100¸öμã±ê־λ
extern float DATA_Vbefore[100];
extern float DATA_Ibefore[100];
float peakV=0;//μçÑ1·åÖμ
float peakI=0;//μçá÷·åÖμ
timer,c文件部分如下时:
#include "timer.h"
#include"adc.h"
int flag_adc=1;
int ZC;//ÔY′æêy¾Y
int j;
float DATA_Vbefore[100];
float DATA_Ibefore[100];
void Timerx_Init(u16 arr,u16 psc)
这样DATA_Vbefore和DATA_Ibefore部分不会报错,当我把main函数内的extern float DATA_Vbefore[100]和extern float DATA_Ibefore[100];变成 float DATA_Vbefore[100]; float DATA_Ibefore[100]; 而把timer内的定义变为extern float DATA_Vbefore[100]和extern float DATA_Ibefore[100];为啥就说我DATA_Vbefore和DATA_Ibefore没有定义,难道是main函数内部的变量不能作为全局变量使用吗?
|
|