一个关于msp430 编译的错误

来源:互联网 发布:阿里云服务器分区视频 编辑:程序博客网 时间:2024/03/29 17:29

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

这个避免文件太多经常调用时自己都被弄晕,理由嘛,网上有很多好的解释

 

如有其它好的方法欢迎分享,有不足也恳请予以斧正

0 0
原创粉丝点击