• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32变量定义

电子WWW 2019-03-26 浏览量:855
在main.c文件中定义了一个全局边变量,在中断函数所在的.c文件中也定义了相同的全局变量,但是在编译时说这变量未定义,真是搞不懂为什么1.png4.png3.png
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 没找到定义的位置,extern意思是去别的地方找定义的位置,而不是定义变量。你变量根本没定义
    • 发布于 2019-03-26
    • 举报
    • 评论 1
    • 0
    • 0
电子WWW 回复了 chownn:懂了,一直误解了extern的意思 回复

其他答案 数量:6
  • 哪有定义,只看到这两处的声明,有一个外部变量 ADCvalue
    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 0
    • 0

  • ADCvalue没定义,只是声明了。
    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 在生命ADCvalue是不能两个地方都有extern,这个关键字是告诉编译器这个变量已经在别的地方声明过了,只有uint32_t ADCvalue这样才是声明,所以在main.c中去掉extern关键字即可。
    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个变量应该放在.h文件里面声明,也是用extern, .c文件不需要用extern
    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 去掉一个文件中的extern,这个关键字不可以用来定义,而是用来声明外部变量的
    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个extern只是声明,不是定义,声明只是说别的地方定义了这个变量,这个源文件要引用。定义不需要exern。
    • 发布于2019-03-27
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32变量定义