
void puerto_serial_event() interrupt 4{
    if(TI==1){          //if transmition occurs
        TI=0;           //clears TI
        if (trama[ind_trama]!=0)
        SBUF = trama[ind_trama];
        index++;                
    }

    if (RI==1){       //if reception occurs
        RI=0;           //clears RI
        if(RB8){
            SM2=0;      //data mode 2
        }
        else{
            if(ind_trama>4){
                ind_trama=0;
            }
            trama[ind_trama]=SBUF;
            ind_trama++;
            SM2=1;      //data mode 1
        }
    }
}


void enviar_comando(unsigned char direccion, unsigned char comando, unsigned char parametros[3]){
    unsigned char i;
    ind_trama=0;
    TI=1;
    SBUF=direccion;
    while(TI==1);
    SBUF=comando;
    while(TI==1);
    for(i=0;i<3;i++){
        trama[2+i]=parametros[i];
        while(TI==1);
    }
}