TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado 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
-
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.
-
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.
-
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]);
}
}
}
-
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 :)
-
Gracias fidodido18!!!