Porque RF_ON no retorna nada, es una subrutina.Cuando intento igualar el retorno 3 (ret3), con el comando de encendido del modulo no me lo permite y me dice "A numeric expression must appear here", quisiera saber por qué pasa esto si en la interrupción estoy haciendo lo mismo con el comando RF_RECEIVE()
Tan sólo puedes llamarla:
RF_ON();
void RF_ON()
{
}
Y RF_RECEIVE() si es una función que puede retornar un valor.
int RF_RECEIVE()
{
}
Nota que las rutinas que pueden devolver valores, tienen al inicio el tipo que deben retornar.
Int o Int8 en PIC C de CCS = 8 Bits. (1 Byte)
Void = Sin retorno. (O retorno Nulo)
Cuando las rutinas no contienen nada entre los paréntesis, también se entiende como Void.
En éste caso; rutina sin retorno y sin parámetros.
void mi_rutina (void)
{
}
Rutina con retorno y con parámetros:
int16 mi_funcion (int8 param1, int8 param2)
{
int16 x = param1 + param2;
return (x);
}
Última edición: