Hephaestus 发表于 2024-1-24 12:34 厉害啊!受教了 ![]() |
man1234567 发表于 2024-1-24 14:43 多谢你 ![]() |
lxj1245481730 发表于 2024-1-24 11:12 对的,H文件里不能定义,只能声明. ![]() |
单片机研究协会 发表于 2024-1-24 11:54 此为正解,可以一试。 |
IdeaMing 发表于 2024-1-24 10:10 不准在h文件里面定义变量,包括数组!如果你这么做,每个引用h文件的c文件都有这个数组定义,全乱套了。 变量只能在c文件里面定义,h文件只能声明变量。 |
if(aa=40) 这里少了一个 = ,应该是 if(aa == 40) |
把tabel的定义放在display。h文件里 |
应该是table在display.c中定义,但是没有在共同引用的头文件中声明,在共同引用的头文件中加extern unsigned char code table[];试试 |
因为你在中断中用了table,但是interrupt.c中没有找到table,要在DISPALY.H声明一下table |
在DISPLAY.H中添加 extern unsigned char code table[16]; |
interrupt.c中table没定义,table在display.c 中定义,只能在display中用,其他地方用需要用extern引用过来,在interrupt.c中添加extern unsigned char code table[16]; |
在引用table的文件里加上extern,把变量引用过来。 |
函数内有while(1)是啥写法? Display.h里要加 extern unsigned char code table[16]; |
在display.h里面加上 unsigned char code table[16]; 注意分号,在头文件中声明在display.c文件中有table的定义 |