#include <p18f2525.h>
#include <stdio.h>
#pragma config OSC = XT,FCMEN = OFF,IESO = OFF //CONFIG1H
#pragma config PWRT = ON,BOREN = OFF,BORV = 0 //CONFIG2L
#pragma config WDT = OFF,WDTPS = 32768 //CONFIG2H
#pragma config MCLRE = ON,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = PORTC//CONFIG3H
#pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF//CONFIG4L
#pragma config CP0 = ON,CP1 = ON,CP2 = ON//CONFIG5L
#pragma config CPB = ON,CPD = ON//CONFIG5H
#pragma config WRT0 = ON,WRT1 = ON,WRT2 = ON//CONFIG6L
#pragma config WRTB = ON,WRTC = ON,WRTD = ON//CONFIG6H
#pragma config EBTR0 = ON,EBTR1 = ON,EBTR2 = ON//CONFIG7L
#pragma config EBTRB = ON//CONFIG7H
int a,c,z;//variables globales
long b,temp;//variables globales
//Esta funcion va a retornar un valor tipo " int "
//y tiene como valores de entrada 2 variables tipo "int".
int funcion1(int x,int y)
{
PORTA = 0x05;
PORTB = 0x08;
return x+y;//retorna valor tipo "int"
}
//Esta funcion va a retornar un valor tipo " long "
//y tiene como valor de entrada una variables tipo "int".
long funcion2(int x)
{
temp=x;
temp<<=3;
temp*=10;
return temp;//retorna valor tipo "long"
}
//Esta funcion va a retornar un valor tipo "int"
//y no tiene valor de entrada.
int funcion3(void)
{
if(PORTC == 0X88)
return 1;
z++;
return z;
}
//Esta funcion no tiene valor a retornar
//ni tiene valor de entrada.
void funcion4(void)
{
z--;
temp = 0x12167;
}
//********************************************
//********************************************
//
// funcion principal
//
//********************************************
//********************************************
void main(void){
TRISA = 0X00;
TRISB = 0X00;
TRISC = 0XFF;
//funcion1 se carga con valores tipo "int"
//y espera retorno de variable tipo "int"
a = funcion1(10,20);
//funcion2 se carga con un valor tipo "int"
//y espera retorno de variable tipo "long"
b = funcion2(30);
//funcion3 no tiene valor de carga
//y espera retorno de variable tipo "int"
c = funcion3();
//funcion4 no tiene valor de carga
//ni espera retorno
funcion4();
while (1);
//*******************************************************
//*******************************************************
}