gpt4 book ai didi

c - 代码行没有进入 de switch-case

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:36 25 4
gpt4 key购买 nike

我开始使用C语言,但是到现在我有一些错误,我得到了一个代码但是当我运行它时,他突然回到开头没有进入swicth-case,我该怎么办为了解决这个问题,我正在使用 Microchip 的 PIC18f4550 以及 MPLAB 和 C18 编译器。感谢您的时间和考虑。她的代码:

void SECUENCIA_1();
void SECUENCIA_2();
void SECUENCIA_3();
void SECUENCIA_4();
void SECUENCIA_5();
void SECUENCIA_6();
void SECUENCIA_ERROR();
void SALIDA_OK();
int i;
unsigned char COMBINACION;

void main(void) {
ADCON1 = 0x0F;
PORTA = 0x00;
TRISA = 0b00000;
PORTC = 0x00;
TRISC = 0b11100000;
PORTD = 0x00;
TRISD = 0b110000;
PORTE = 0x00;
TRISE = 0b000;
PORTB = 0x00;
TRISB = 0b11111111;


COMBINACION = 0x00;
COMBINACION = COMBINACION | (PORTCbits.RC5);
COMBINACION = COMBINACION << 1;
COMBINACION = COMBINACION | (PORTCbits.RC4);
COMBINACION = COMBINACION << 1;
COMBINACION = COMBINACION | (PORTDbits.RD3);


switch (COMBINACION)
{
case 0x0: SECUENCIA_ERROR; break;
case 0x1: SECUENCIA_1; break;
case 0x2: SECUENCIA_2; break;
case 0x3: SECUENCIA_3; break;
case 0x4: SECUENCIA_4; break;
case 0x5: SECUENCIA_5; break;
case 0x6: SECUENCIA_6; break;
default:SECUENCIA_ERROR;
}
}
.
.
.
.

代码在这句话之后继续,但我不知道为什么它只在设置“COMBINACION”的最后一个值后返回

最佳答案

您的函数调用中缺少 ()

如果没有 (),函数名将被视为函数指针而不是 C 中的函数调用。

所以像这样添加():

switch (COMBINACION)
{
case 0x0: SECUENCIA_ERROR(); break;
case 0x1: SECUENCIA_1(); break;
case 0x2: SECUENCIA_2(); break;
case 0x3: SECUENCIA_3(); break;
case 0x4: SECUENCIA_4(); break;
case 0x5: SECUENCIA_5(); break;
case 0x6: SECUENCIA_6(); break;
default:SECUENCIA_ERROR();
}

关于c - 代码行没有进入 de switch-case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20287378/

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