Hola masters

, soy nuevo programando dspic y estoy tratando de hacer una comunicacion CAN con el dspic 30f4013. Alguien me puede ayudar?, he escrito un codigo y no me funciona:
#include <p30f4013.h>
#include <stdio.h>
_FOSC(CSW_FSCM_OFF & XT); //reloj externo
_FWDT(WDT_OFF); //Turn off the Watch-Dog Timer.
_FBORPOR(MCLR_EN & PWRT_OFF); //Enable MCLR reset pin and turn off the
_FGS(CODE_PROT_OFF); //Disable Code Protection
int main()
{
ADPCFG = 0xFFFF; //Configuro mis salidas digitales
LATB=0X0; //Inicializo mis salidas como 0
TRISB=0X0;
//Configuración de la trama CAN
C1CTRLbits.CANCAP=0X1; //Habilito la captura de CAN
C1CTRLbits.CSIDL=0X0; //El modulo CAN continua en opracion cuando esta en modo idle
C1CTRLbits.CANCKS=0X1; //Defino mi frecuencia CAN con mi FCY
C1CTRLbits.REQOP=0X0; //Configuro como modo standart
C1CTRLbits.ICODE=0X0; //No interrupciones
C1CFG1=0X0; //Baud rate de 2/FCAN.
while(1)
{
//CONFIGURACIONES TX
C1TX0CON=0XB; //Habilito mi TxReQ y pongo alta prioridad
C1TX0SID=0X1;
C1TX0B1=0X1; //Envio mi trama con el valor de 2
//CONFIGURACIONES RX
if(C1RX1CONbits.RXFUL==0X1) //Si se recibio el trama correctamente
{
if(C1RX0B1==0X2) //Si mi bus recibio 1
{
PORTB=0x1; //prendo LED.
}
}
}
return 0;
}
utilizo Cristales externos de 8Mhz y programos con un master prog. Gracias, espero cooperar en este grupo con el paso del tiempo.
