TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: maurihuarte en 18 de Noviembre de 2011, 16:07:08

Título: Errores
Publicado por: maurihuarte en 18 de Noviembre de 2011, 16:07:08
Buenas tardes. Alguien me podría ayudar con mis errores?
El que sigue es mi programa y los errores que me salen estan escritos en rojo al lado.

Desde ya, mil gracias

#include <16F877.h>
#use delay(clock = 400000)
#fuses XT,NOWDT,NOPROTECT, NOPUT
#use fast_io (B)                 
#use fast_io (A)
byte const DISPLAY[10] = (0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f); Expression must evaluate to a constant

void main(){
   byte ud=0,dec=0;               
   set_tris_B(0x00);               
   set_tris_A(0x00);
   output_B(0);                   
   for (dec=0;dec<10;dec++){     
      for (ud=0;ud<10;ud++){     
         output_A(0x02);           
         output_b(display[ud]     
         delay_ms(50);           Expecting a close paren
         if (dec==0){               
            output_a(0x03);     
         }
         else {
         output_a(0x01);
         output_b(display[dec]);
         }
         delay_ms(50);

}
}
}
Título: Re: Errores
Publicado por: MGLSOFT en 18 de Noviembre de 2011, 16:10:57
El primero no es un error, en todo caso es un warning.
El segundo se refiere a que falta el parentesis de cierre de la expresion anterior.

Citar
         output_b(display[ud]   <<<<<<<< aqui falta cerrar el parentesis y el punto y coma !!!!!! 
         delay_ms(50);           Expecting a close paren
Título: Re: Errores
Publicado por: maurihuarte en 18 de Noviembre de 2011, 16:15:58
El primero no es un error, en todo caso es un warning.
El segundo se refiere a que falta el parentesis de cierre de la expresion anterior.

Citar
         output_b(display[ud]   <<<<<<<< aqui falta cerrar el parentesis y el punto y coma !!!!!! 
         delay_ms(50);           Expecting a close paren

Ok, con respecto al parentesis y el punto y coma, tenes toda la razón. Hace varias horas que vengo practicando y leyendo desde cero y parece que se me escapa hasta lo mas evidente.

Pero en cuanto al primer error, me lo marca como error y no genera el archivo .hex. Es por esto que necesito solucionarlo.

Muchisimas gracias
Título: Re: Errores
Publicado por: BrunoF en 18 de Noviembre de 2011, 17:03:51
byte const DISPLAY[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
Título: Re: Errores
Publicado por: MGLSOFT en 18 de Noviembre de 2011, 17:30:58
Me gano de mano Bruno, en la primer pasada no me había dado cuenta (en realidad veo poco pero soy pituco) y estaba por escribirlo.