Error[e46]: Undefined external "voltage" referred in main ( C:\Users\Administrator\Desktop\msp430prictice\press KEY to control DAC\Debug\Obj\main.r43 )
关于这种错误,
如果 voltage 是一个外部函数 只需加上函数所在文件的头文件就行
比如: 在ADC.c里面有一个函数 void ADC_Init();
在主函数中我需要调用这个变量,那么就需要在主函数中加上 #include “ADC.c”
但如果 voltage 是一个外部变量 这需要在 voltage 所在的文件中定义 voltage(不必要定义为 extern型,已经定义位extern型也会出错)
然后在用到voltage的地方加上 extern unsigned int voltage (假设为unsigned int型变量)
比如:我在 ADC.c 文件里面定义了变量 unsigned int voltage (不必要定义为 extern unsigned int voltage 会出错)
在主函数中我需要调用这个变量,那么除了在主函数中加上 #include “ADC.c”外,
还得在主函数中加一句 extern unsigned int voltage 不然就会出现以上这个错误
还有就是建议自己写多文件是最好 加上
#ifndef _AAA_H
#define _AAA_H
{....}
#endif
这个避免文件太多经常调用时自己都被弄晕,理由嘛,网上有很多好的解释
如有其它好的方法欢迎分享,有不足也恳请予以斧正