gpt4 book ai didi

常数积分表达式所需的错误

转载 作者:行者123 更新时间:2023-11-30 18:32:31 26 4
gpt4 key购买 nike

我正在为 AVR ATmega32-A 微 Controller 编写代码。我正在使用开关盒,如下所示。

  unsigned char Command;
unsigned int Param;

void runCom(void){

switch(Command){

case(NO_COM):
Command = 0;
break;

case(INF):
printf("\r\n\r\n");
printf("university\r\n");
printf("sweden\r\n");
printf("Ver. 1.0A\r\n");

Command = 0;
break;

case (DB):
Command = 0;
break;


case(CLEARM):
Command = 0;
break;

default:
Command = 0;
break;
}
}

上面的代码可以工作,但现在我想在该开关中添加一个案例,如下所示。

 unsigned char Command, Command1;
unsigned int Param;
void runCom(void){

switch(Command){

case(NO_COM):
Command = 0;
break;

case(INF):
printf("\r\n\r\n");
printf("university\r\n");
printf("sweden\r\n");
printf("Ver. 1.0A\r\n");

Command = 0;
break;

case (DB):
Command = 0;
break;



case(ADC):
printf("ADC Value",ReadAd());

printf("Enter Amplification stage");

switch(Command1){

case(stage1):
PORTC=0x00;
DDRC=0xC0;
printf("ADC Value",ReadAd());
Command1 = 0;
break;

case(stage2):
PORTC=0x00;
DDRC=0x03;
printf("ADC Value",ReadAd());
Command1 = 0;
break;
}
Command = 0;
break;

case(MEM):
Command = 0;
break;

case(CLEARM):
Command = 0;
break;

default:
Command = 0;
break;
}
}

我收到类似的错误

   undefind symbol 'ADC'
undefind symbol 'stage1'
undefind symbol 'stage2'

然后我就这样声明了

unsigned char Command, ADC, Command1, stage1, stage2;
unsigned int Param;

现在我遇到了类似的错误

constant integral expression required at line case(ADC)
constant integral expression required at line case(stage1)
constant integral expression required at line case(stage2)

所以请有人建议我如何克服这个错误。我还没有在任何地方声明 WGP、WGF、INF,但我没有收到“WGF、WGP、INF 的 undefined symbol ”。为什么此错误仅发生在 ADC 上。我遵循了与之前使用的相同的 switch case 规则。任何建议表示赞赏.

提前致谢。

最佳答案

case 中的值必须是常量文字

如果你查找例如WGP 你会发现它很可能是一个#define 的文字。对您的新值执行相同的操作。

关于常数积分表达式所需的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com