TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: PHLAKO en 06 de Febrero de 2009, 13:25:59
-
Hola amigos del foro. En mi constante busqueda de aprender el lenguaje C, me asalta una duda.
si hago esto(lectura de eeprom interna del uC, ultima pagina del hilo del cursillo):
unsigned char read_eeprom(unsigned int); //declarando la funcion prototipo
y despues la invoco:
read_eeprom(0X01); //lee la direccion 01 ed la eeprom
siendo la funcion:
unsigned char read_eeprom(unsigned int eeprom_addr)
{
EEADR = eeprom_addr;
EECON1bits.EEPGD = 0; /* Ensure EEPGD is clear for EEDATA access */
EECON1bits.RD = 1; /* Trigger a read by setting the RD bit */
return EEDATA; /* Read the result from EEDATA register */
}
ahi donde dice: "return EEDATA;" donde manda el dato que esta dentro de EEDATA?
saludos
chaos :)
-
por ejemplo:
mivariable= read_eeprom(0x01);
Con esto vas a tener en mivariable el valor de la memoria de la dirección 0x01
-
Como menciona Pablo, las funciones entregan un valor a una variable con return.
Ejemplo:
int suma(int a, int b)
{
return a+b;
}
void main (void)
{
int resultado;
resultado=suma(3,5);
}
Resultado valdrá 8.
-
A que bien, esas pequeñas herramientas ayudan mucho. Muchas gracias, me ha quedado super claro. Me he leido cuanto manual de ANSI he encontrado, pero es dificil sacar de la cabeza el famoso lenguaje ensamblador. A medida que voy escribiendo y probando los codigos de C, se me va aclarando el modo de proceder. :-/
Saludos :)
chaos :)