Página 1 de 1

ERRO NO CCS

MensagemEnviado: 22 Nov 2008 14:34
por RALPH LIMA
Olá Amigos é minha peimeira vez por aqui, e tenham paciencia comigo pois estou começando.

escrevi um codigo e dá sempre um erro: a numeric expression must appear here

alguem pode me ajudar?

este é o codigo.

void main()
{

comeco:

if (!(input(PIN_A2))) // teste se o pino A2 esta em zero
{
goto lift; // direciona para a rotina lift

}
else // para um retorno false do if acima

if (!(input(pin_A3))) // testa se o pino A3 está em zero
{

goto righ; // direciona para a rotina righ

}

else // para um retorno false do if acima

goto comeco; // direciona para o começo dos testes




lift: // label lift, rotina de movimento para esquerda


output_high(pin_b4); // seta o pino b4
delay_ms (100); // tempo em que o pino ficara setado
output_high (pin_b5); // seta o pino b5
delay_ms (100); // tempo em que o pino ficara setado
Output_high (pin_b6); // seta o pino b6
delay_ms (100); // tempo em que o pino ficara setado
output_high (pin_b7); // seta o pino b7
delay_ms (100); // tempo em que o pino ficara setado

goto comeco; // faz outro teste em começo






righ: // label righ, rotina de movimento para direita
// este bloco esta bloqueado momentaneamente pois
// o pin_c não existe no 16f628.

/*
output_high(pin_c4);
delay_ms (100);
output_high (pin_c5);
delay_ms (100);
Output_high (pin_c6);
delay_ms (100);
output_high (pin_c7);
delay_ms (100);

goto comeco; // faz outro teste em comeco

*/



} ..... É EXATAMENTE PARA AQUI QUE O ERO APONTA!!!!

MensagemEnviado: 22 Nov 2008 15:31
por Maia
Não conheço o CCS, mas o erro não seria o:

Código: Selecionar todos
Output_high (pin_b6); // seta o pino b6


estar começando com maiúscula?
Abraços,
Maia

MensagemEnviado: 22 Nov 2008 16:58
por buiz
Olá Ralph;

Vou refazer para vc ok!

Código: Selecionar todos
void main()

{

comeco:

while(true)//Loop enquanto for verdadeiro
{
if (!input(PIN_A2)) goto lift; // direciona para a rotina lift

if (!input(pin_A3)) goto righ; // direciona para a rotina righ

delay_ms(100);
}


lift: // label lift, rotina de movimento para esquerda

output_high(pin_b4); // seta o pino b4
delay_ms (100); // tempo em que o pino ficara setado
output_high (pin_b5); // seta o pino b5
delay_ms (100); // tempo em que o pino ficara setado
output_high (pin_b6); // seta o pino b6
delay_ms (100); // tempo em que o pino ficara setado
output_high (pin_b7); // seta o pino b7
delay_ms (100); // tempo em que o pino ficara setado

goto comeco; // faz outro teste em começo



righ: // label righ, rotina de movimento para direita
// este bloco esta bloqueado momentaneamente pois
// o pin_c não existe no 16f628.

/*
output_high(pin_c4);
delay_ms (100);
output_high (pin_c5);
delay_ms (100);
Output_high (pin_c6);
delay_ms (100);
output_high (pin_c7);
delay_ms (100);
*/

goto comeco; // faz outro teste em comeco

}


Espero ter te ajudado, qualquer duvida poste ai, Ok

Abraço Buiz

MensagemEnviado: 22 Nov 2008 17:12
por buiz
Agora estou postando o teu codigo corrigido,

Código: Selecionar todos
void main()
{

comeco:

if (!input(PIN_A2)) // teste se o pino A2 esta em zero (ALTEREI AQUI TIRANDO PARENTES DESNECESSARIOS)
{
goto lift; // direciona para a rotina lift

}
else // para um retorno false do if acima

if (!input(pin_A3)) // testa se o pino A3 está em zero (ALTEREI AQUI TIRANDO PARENTES DESNECESSARIOS)
{

goto righ; // direciona para a rotina righ

}

else // para um retorno false do if acima

goto comeco; // direciona para o começo dos testes




lift: // label lift, rotina de movimento para esquerda


output_high(pin_b4); // seta o pino b4
delay_ms (100); // tempo em que o pino ficara setado
output_high (pin_b5); // seta o pino b5
delay_ms (100); // tempo em que o pino ficara setado
Output_high (pin_b6); // seta o pino b6
delay_ms (100); // tempo em que o pino ficara setado
output_high (pin_b7); // seta o pino b7
delay_ms (100); // tempo em que o pino ficara setado

goto comeco; // faz outro teste em começo






righ: // label righ, rotina de movimento para direita
// este bloco esta bloqueado momentaneamente pois
// o pin_c não existe no 16f628.

/*
output_high(pin_c4);
delay_ms (100);
output_high (pin_c5);
delay_ms (100);
Output_high (pin_c6);
delay_ms (100);
output_high (pin_c7);
delay_ms (100);
*/
//MUDEI DE LUGAR O FECHAMENTO DO TEU COMENTARIO PARA RETORNAR PARA O COMEÇO, QUE NA REALIDADE ESTAVA AQUI O SEU ERRO MAIS GRAVE.
goto comeco; // faz outro teste em comeco

}


Observe bem, e os 2 exemplos o que eu fiz para você e o que foi corrigido.

Abraços um Bom Find

Obrigado

MensagemEnviado: 23 Nov 2008 13:18
por RALPH LIMA
Agradeço a todos pela a tenção.
É bom saber que posso contar com amigos aqui.
estou começando é isto é uma grande ajuda !!!

UM grande abraço.