TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: kidpic en 22 de Enero de 2010, 01:18:11

Título: consulta
Publicado por: kidpic en 22 de Enero de 2010, 01:18:11
Que significa esta linea de programa y como se utiliza???
int cnt;
int dat_serie[7];

como se corresponde con esta linea

dat_serie [cnt]
gracias
Título: Re: consulta
Publicado por: RedPic en 22 de Enero de 2010, 04:19:42
Uff. Tu consulta es de 1º de C ...

La primera parte es la definición de dos variables, cnt de tipo Integer y dat_serie es un Array (arreglo) de integers de 7 elementos de longitud, desde dat_serie[0] hasta dat_serie[6] o sea 7 elementos.

Y la segunda es ... vamos a ver como la defino ... la referencia a la posición dentro de dat_serie que indique la variable cnt. En este caso decimos que cnt está actuando como índice del array dat_serie.

O sea: si cnt vale 0 entonces dat_serie[cnt] hace referencia a la primera posición del Array dat_serie.

Por ejemplo:

int cnt;
int dat_serie[7];


cnt=0
dat_serie[cnt]=100;

tendríamos que el contenido completo de dat_serie sería {100,0,0,0,0,0,0}

si ahora hacemos

++cnt; // incrementamos en 1 su valor
dat_serie[cnt]=200;

tendríamos que el contenido completo de dat_serie ha cambiado a {100,200,0,0,0,0,0}
 
....

Espero que te haya aclarado un poco el tema.
Título: Re: consulta
Publicado por: ASTROCAR en 22 de Enero de 2010, 06:25:09
hola , mejor explicacion imposible y lo que se le puede recomentar al colega es que se documente con variables en lenguaje c, bajate un tutorial de programacion C y veras mas al detallado lo de declarar variables incluso constante y muchas cosas mas y varibles de arreglo hasta de dos doimensiones.

Saludos.
Atten.
Alexander Santana.
Barcelona-Venezuela.
Título: Re: consulta
Publicado por: kidpic en 22 de Enero de 2010, 12:13:46
gracias!!. Esta parte del programa se ejecuta muy bien en el proteus. pero cuando lo llevo a lo real no. Existe la comunicacion entre la pc y el pic mediante hiperterminal. que puede sestar sucediendo.?aqui las lineas que no salen en la pc.


 #int_rda            //Interrupcion para el puerto serie
 rda_isr(){
 dat_in=getc();      //Lee el puerto serie
 printf("\r");
 if (dat_in=='2')    //Si es "2" se visualizan los primeros datos de la eeprom
   {
      for(cnt=0;cnt<=8;cnt++)       //Lectura de los 7 primeros bytes de la eeprom
         {
         dat_serie[cnt]=read_ext_eeprom(cnt);
         }
      for(cnt=0;cnt<=8;cnt++)       //Visualiza los 7 primeros bytes de la eeprom
         {
         printf("BYTE %u=%3u \r",cnt,dat_serie[cnt]);
         }
   }
 }
Título: Re: consulta
Publicado por: fidodido18 en 22 de Enero de 2010, 16:29:58
Compañero también te recomiendo leer las reglas de foro, colocar a los post "CONSULTA" "AYUDA" o algo por el estilo no se recomienda!

ahh y en tu otro post ya respondieron la pregunta  :)
Título: Re: consulta
Publicado por: kidpic en 22 de Enero de 2010, 16:34:01
Gracias fidodido18!!!