Example MPC5775K FlexCAN_with_interrupts_v1.1 S32DS_1.1

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Example MPC5775K FlexCAN_with_interrupts_v1.1 S32DS_1.1

Example MPC5775K FlexCAN_with_interrupts_v1.1 S32DS_1.1

********************************************************************************

* Detailed Description:

* Application performs basic initialization, setup PLL to maximum allowed freq.,

* setup clock for peripherals,

*

* Initializes the MCU including the FlexCAN peripherals.

* Configures the FlexCAN to transmit and receive a CAN message.

*

* Individual RX masking was added to the last version of this example.

* Three messages with different ID's are sent via FlexCAN_0 MB0 MB1 and MB2.

* These messages are received by FlexCAN_1 MB0, MB1 and MB2 according to masking

* register settings.

*

* For MB0 data receive is used interrupt.

*

*

* ------------------------------------------------------------------------------

* Test HW:         MPC5775K-356DS, MPC57xx Motherboard

* MCU:             PPC5775KMMY3A 0N38M

* Fsys:            PLL0 266MHz

*                    Z4 Core 133MHz

* Debugger:        Lauterbach Trace32

*                  PeMicro USB-ML-PPCNEXUS

* Target:          internal_FLASH (debug mode, release mode)

* EVB connection:

*

* It is necessary to remove both J32 jumpers and also both J35 jumpers.

*

* Connect J32.2 to PC9 (CAN_0 TX)

* Connect J32.4 to PC8 (CAN_0 RX)

*

* Connect J35.2 to PE5 (CAN_1 TX)

* Connect J35.4 to PG14 (CAN_1 RX)

*

* Connect CAN P5.2 to CAN2 P4.2 (CAN_0 and CAN_1 CANL)

* Connect CAN P5.1 to CAN2 P4.1 (CAN_0 and CAN_1 CANH)

*

* This connection has to be observed, otherwise correct communication between

* CAN modules is not guaranteed.

*

*

********************************************************************************

Labels (1)
Attachments
Comments

Dear Martin!

Need some help. Based on the example above, I tried to write a test program that uses only the CAN_0 port for transmitting / receiving.
The transmission direction is working properly, but the reception part is not. Even though I send a CAN message of the correct format to the VCANRX input (PAD17), the interrupt routine (CAN_0_Receive_InterruptHandler) does not run (isr vectors defined. Work well if transmit CAN_0 MB = 0).

void CAN_0_Receive_InterruptHandler(void)
{

CAN_0.IFLAG1.R = 0x1;

ReceiveBuffer[0] = CAN_0.MB[0].DATA.W[0];
ReceiveBuffer[1] = CAN_0.MB[0].DATA.W[1];

}

int main(void)
{

INTC.PSR[281].R = 0x8001; /*Set Core and interrupt priority*/
INTC.PSR[263].R = 0x8001; /*Set Core and interrupt priority*/
INTC.PSR[226].R = 0x8001; //set priority and core for PIT interrupt
INTC.PSR[522].R = 0x8001; //set priority and core for CAN0 RX interrupt


HW_Init();

FlexCAN_0_Init();
Configure_RX_MessageBuffer();

//Transmit_Message(1,102);         // -> OK

.

.

.

.

.

}

static void GPIO_Init(void)
{
SIUL2.MSCR[36].R = 0x32840001; //DSPI0_CS0
SIUL2.MSCR[37].R = 0x32840001; //DSPI0_SCK
SIUL2.MSCR[38].R = 0x32840001; //DSPI0_SOUT
SIUL2.MSCR[39].R = 0x308C0000; //DSPI0_SIN

SIUL2.MSCR[10].R = 0x308C0001; //DSPI2_CS0
SIUL2.IMCR[10].B.SSS = 2;

SIUL2.MSCR[11].R = 0x308C0001; //DSPI2_SCK
SIUL2.IMCR[8].B.SSS = 2;

SIUL2.MSCR[13].R = 0x308C0000; //DSPI2_SIN
SIUL2.IMCR[9].B.SSS = 2;

SIUL2.MSCR[12].R = 0x32840001; //DSPI2_SOUT

SIUL2.MSCR[146].R = 0x32840001; //DSPI3_CS0
SIUL2.MSCR[143].R = 0x32840001; //DSPI3_SCK
SIUL2.MSCR[144].R = 0x32840001; //DSPI3_SOUT
SIUL2.MSCR[145].R = 0x308C0000; //DSPI3_SIN

SIUL2.MSCR[16].B.SSS = 1; /* Pad n17: Source signal is CAN0_TX */
SIUL2.MSCR[16].B.OBE = 1; /* Pad n17: Output Buffer Enable */
SIUL2.MSCR[16].B.SRC = 3; /* Pad n17: Maximum slew rate */

SIUL2.MSCR[17].B.IBE = 1; /* Pad n18: Enable pad for input - CAN0_RXD */
SIUL2.IMCR[0].B.SSS = 0; /* CAN_0_RXD: connected to pad n18 */

SIUL2.MSCR[9].R = 0x32000000; //CANSTB
SIUL2.GPDO[9].R = 0; //CANSTB 0 ON
}

static void FlexCAN_0_Init()
{
int j = 0;

/*Module enable*/
CAN_0.MCR.B.MDIS = 0;

/*Source clk is oscillator clock (40MHz)*/
CAN_0.CTRL1.B.CLKSRC = 0;

/*Error correction configuration register enable*/
CAN_0.CTRL2.B.ECRWRE = 1;

/*Enable unrestricted write access to FlexCAN memory*/
CAN_0.CTRL2.B.WRMFRZ = 1;

/*Error configuration register write enable*/
CAN_0.MECR.B.ECRWRDIS = 0;

/*Disable memory error correction*/
CAN_0.MECR.B.ECCDIS = 1;

/*Keep normal operation*/
CAN_0.MECR.B.NCEFAFRZ = 0;

/*Error configuration register write disable*/
CAN_0.MECR.B.ECRWRDIS = 1;

/*Disable unrestricted write access to FlexCAN memory*/
CAN_0.CTRL2.B.WRMFRZ = 0;

/*Error correction configuration register disable*/
CAN_0.CTRL2.B.ECRWRE = 0;


//CAN_0.MCR.B.FRZ = 1; // freeze mode enabled
//CAN_0.MCR.B.HALT = 1; // enters freeze mode


/*Disable individual RX masking*/
CAN_0.MCR.B.IRMQ = 1;

//CAN_0.MCR.B.FRZ = 0; // freeze mode enabled
//AN_0.MCR.B.HALT = 0; // enters freeze mode


/*CAN bit timing - 40MHz oscillator, 100kbps bitrate,*/
CAN_0.CTRL1.B.PRESDIV = 39;
CAN_0.CTRL1.B.RJW = 3;
CAN_0.CTRL1.B.PSEG1 = 3;
CAN_0.CTRL1.B.PSEG2 = 3;
CAN_0.CTRL1.B.PROPSEG = 0;

/*enable interrupt for MB0*/
CAN_0.IMASK1.R = 0x00000001;

/*Clear all RX individual Mask Registers The corresponding bit in the
* filter is checked"*/
for(j = 0; j < 64; j++)
{
CAN_0.RXIMR[j].R = 0xFFFFFFFF;
}

/*Set all message buffers RX inactive*/
for(j = 0; j <64; j++)
{
CAN_0.MB[j].CS.R = 0x0000;
}

/*Last two bits in MB0 are do not care*/
CAN_0.RXIMR[0].R = 0xFFFFFFFC;

/*Last three bits in MB1 are do not care*/
//CAN_0.RXIMR[1].R = 0xFFFFFFF8;

/*Last four bits in MB2 are do not care*/
//CAN_0.RXIMR[2].R = 0xFFFFFFF0;

/*No freeze mode request*/


CAN_0.MCR.B.HALT = 0;

}


static void Configure_RX_MessageBuffer(void)
{
CAN_0.MB[0].CS.B.CODE = 0x0; //MB inactive
CAN_0.MB[0].CS.B.IDE = 1;
CAN_0.MB[0].ID.R = 0; //set standard ID
CAN_0.MB[0].DATA.W[1] = 0x00000000; //data1 set (optional)
CAN_0.MB[0].DATA.W[0] = 0x00000000; //data0 set (optional)
CAN_0.MB[0].CS.B.CODE = 0x4; //MB empty - ready for receive


}

There is a problem:

In the example (MPC5775K FlexCAN_with_interrupts_v1.1 S32DS_1.1):

static void Transmit_Message(int MB, int ID)
{
CAN_0.MB[MB].CS.B.CODE = 0x8; //MB TX inactive
CAN_0.MB[MB].CS.B.IDE = 1; //extended bit disable                      ------>>>>>>>>>>>    1 = extended ID enable ??  0 or 1 ?  (0 disable , 1 enable)
CAN_0.MB[MB].ID.R = ID; //set message STD ID
CAN_0.MB[MB].DATA.W[1] = 0x90ABCDEF; //data1 set
CAN_0.MB[MB].DATA.W[0] = 0x12345678; //data0 set
CAN_0.MB[MB].CS.B.DLC = 8; //message length 8 bytes
CAN_0.MB[MB].CS.B.RTR = 0; //remote frame disable
CAN_0.MB[MB].CS.B.SRR = 0; //not used with STD_ID
CAN_0.MB[MB].CS.B.CODE = 0xC; //MB once transmit data
}

%3CLINGO-SUB%20id%3D%22lingo-sub-1115113%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EExample%20MPC5775K%20FlexCAN_with_interrupts_v1.1%20S32DS_1.1%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1115113%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E********************************************************************************%3C%2FP%3E%3CP%3E*%20Detailed%20Description%3A%3C%2FP%3E%3CP%3E*%20Application%20performs%20basic%20initialization%2C%20setup%20PLL%20to%20maximum%20allowed%20freq.%2C%3C%2FP%3E%3CP%3E*%20setup%20clock%20for%20peripherals%2C%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20Initializes%20the%20MCU%20including%20the%20FlexCAN%20peripherals.%3C%2FP%3E%3CP%3E*%20Configures%20the%20FlexCAN%20to%20transmit%20and%20receive%20a%20CAN%20message.%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20Individual%20RX%20masking%20was%20added%20to%20the%20last%20version%20of%20this%20example.%3C%2FP%3E%3CP%3E*%20Three%20messages%20with%20different%20ID's%20are%20sent%20via%20FlexCAN_0%20MB0%20MB1%20and%20MB2.%3C%2FP%3E%3CP%3E*%20These%20messages%20are%20received%20by%20FlexCAN_1%20MB0%2C%20MB1%20and%20MB2%20according%20to%20masking%3C%2FP%3E%3CP%3E*%20register%20settings.%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20For%20MB0%20data%20receive%20is%20used%20interrupt.%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20------------------------------------------------------------------------------%3C%2FP%3E%3CP%3E*%20Test%20HW%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20MPC5775K-356DS%2C%20MPC57xx%20Motherboard%3C%2FP%3E%3CP%3E*%20MCU%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20PPC5775KMMY3A%200N38M%3C%2FP%3E%3CP%3E*%20Fsys%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20PLL0%20266MHz%3C%2FP%3E%3CP%3E*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Z4%20Core%20133MHz%3C%2FP%3E%3CP%3E*%20Debugger%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Lauterbach%20Trace32%3C%2FP%3E%3CP%3E*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20PeMicro%20USB-ML-PPCNEXUS%3C%2FP%3E%3CP%3E*%20Target%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20internal_FLASH%20(debug%20mode%2C%20release%20mode)%3C%2FP%3E%3CP%3E*%20EVB%20connection%3A%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20It%20is%20necessary%20to%20remove%20both%20J32%20jumpers%20and%20also%20both%20J35%20jumpers.%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20Connect%20J32.2%20to%20PC9%20(CAN_0%20TX)%3C%2FP%3E%3CP%3E*%20Connect%20J32.4%20to%20PC8%20(CAN_0%20RX)%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20Connect%20J35.2%20to%20PE5%20(CAN_1%20TX)%3C%2FP%3E%3CP%3E*%20Connect%20J35.4%20to%20PG14%20(CAN_1%20RX)%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20Connect%20CAN%20P5.2%20to%20CAN2%20P4.2%20(CAN_0%20and%20CAN_1%20CANL)%3C%2FP%3E%3CP%3E*%20Connect%20CAN%20P5.1%20to%20CAN2%20P4.1%20(CAN_0%20and%20CAN_1%20CANH)%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20This%20connection%20has%20to%20be%20observed%2C%20otherwise%20correct%20communication%20between%3C%2FP%3E%3CP%3E*%20CAN%20modules%20is%20not%20guaranteed.%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E********************************************************************************%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-1115113%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E********************************************************************************%3C%2FP%3E%3CP%3E*%20Detailed%20Description%3A%3C%2FP%3E%3CP%3E*%20Application%20performs%20basic%20initialization%2C%20setup%20PLL%20to%20maximum%20allowed%20freq.%2C%3C%2FP%3E%3CP%3E*%20setup%20clock%20for%20peripherals%2C%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20Initializes%20the%20MCU%20including%20the%20FlexCAN%20peripherals.%3C%2FP%3E%3CP%3E*%20Configures%20the%20FlexCAN%20to%20transmit%20and%20receive%20a%20CAN%20message.%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20Individual%20RX%20masking%20was%20added%20to%20the%20last%20version%20of%20this%20example.%3C%2FP%3E%3CP%3E*%20Three%20messages%20with%20different%20ID's%20are%20sent%20via%20FlexCAN_0%20MB0%20MB1%20and%20MB2.%3C%2FP%3E%3CP%3E*%20These%20messages%20are%20received%20by%20FlexCAN_1%20MB0%2C%20MB1%20and%20MB2%20according%20to%20masking%3C%2FP%3E%3CP%3E*%20register%20settings.%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20For%20MB0%20data%20receive%20is%20used%20interrupt.%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20------------------------------------------------------------------------------%3C%2FP%3E%3CP%3E*%20Test%20HW%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20MPC5775K-356DS%2C%20MPC57xx%20Motherboard%3C%2FP%3E%3CP%3E*%20MCU%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20PPC5775KMMY3A%200N38M%3C%2FP%3E%3CP%3E*%20Fsys%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20PLL0%20266MHz%3C%2FP%3E%3CP%3E*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Z4%20Core%20133MHz%3C%2FP%3E%3CP%3E*%20Debugger%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20Lauterbach%20Trace32%3C%2FP%3E%3CP%3E*%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20PeMicro%20USB-ML-PPCNEXUS%3C%2FP%3E%3CP%3E*%20Target%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20internal_FLASH%20(debug%20mode%2C%20release%20mode)%3C%2FP%3E%3CP%3E*%20EVB%20connection%3A%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20It%20is%20necessary%20to%20remove%20both%20J32%20jumpers%20and%20also%20both%20J35%20jumpers.%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20Connect%20J32.2%20to%20PC9%20(CAN_0%20TX)%3C%2FP%3E%3CP%3E*%20Connect%20J32.4%20to%20PC8%20(CAN_0%20RX)%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20Connect%20J35.2%20to%20PE5%20(CAN_1%20TX)%3C%2FP%3E%3CP%3E*%20Connect%20J35.4%20to%20PG14%20(CAN_1%20RX)%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20Connect%20CAN%20P5.2%20to%20CAN2%20P4.2%20(CAN_0%20and%20CAN_1%20CANL)%3C%2FP%3E%3CP%3E*%20Connect%20CAN%20P5.1%20to%20CAN2%20P4.1%20(CAN_0%20and%20CAN_1%20CANH)%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%20This%20connection%20has%20to%20be%20observed%2C%20otherwise%20correct%20communication%20between%3C%2FP%3E%3CP%3E*%20CAN%20modules%20is%20not%20guaranteed.%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E*%3C%2FP%3E%3CP%3E********************************************************************************%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1115113%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EGeneral%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1115115%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Example%20MPC5775K%20FlexCAN_with_interrupts_v1.1%20S32DS_1.1%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1115115%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThere%20is%20a%20problem%3A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EIn%20the%20example%20(MPC5775K%20FlexCAN_with_interrupts_v1.1%20S32DS_1.1)%3A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Estatic%20void%20Transmit_Message(int%20MB%2C%20int%20ID)%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%20CAN_0.MB%5BMB%5D.CS.B.CODE%20%3D%200x8%3B%20%2F%2FMB%20TX%20inactive%3CBR%20%2F%3E%20CAN_0.MB%5BMB%5D.CS.B.IDE%20%3D%201%3B%20%2F%2Fextended%20bit%20disable%3CSTRONG%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20------%26gt%3B%26gt%3B%26gt%3B%26gt%3B%26gt%3B%26gt%3B%26gt%3B%26gt%3B%26gt%3B%26gt%3B%26gt%3B%26nbsp%3B%20%26nbsp%3B%201%20%3D%20extended%20ID%20enable%20%3F%3F%26nbsp%3B%200%20or%201%20%3F%26nbsp%3B%20(0%20disable%20%2C%201%20enable)%3C%2FSTRONG%3E%3CBR%20%2F%3E%20CAN_0.MB%5BMB%5D.ID.R%20%3D%20ID%3B%20%2F%2Fset%20message%20STD%20ID%3CBR%20%2F%3E%20CAN_0.MB%5BMB%5D.DATA.W%5B1%5D%20%3D%200x90ABCDEF%3B%20%2F%2Fdata1%20set%3CBR%20%2F%3E%20CAN_0.MB%5BMB%5D.DATA.W%5B0%5D%20%3D%200x12345678%3B%20%2F%2Fdata0%20set%3CBR%20%2F%3E%20CAN_0.MB%5BMB%5D.CS.B.DLC%20%3D%208%3B%20%2F%2Fmessage%20length%208%20bytes%3CBR%20%2F%3E%20CAN_0.MB%5BMB%5D.CS.B.RTR%20%3D%200%3B%20%2F%2Fremote%20frame%20disable%3CBR%20%2F%3E%20CAN_0.MB%5BMB%5D.CS.B.SRR%20%3D%200%3B%20%2F%2Fnot%20used%20with%20STD_ID%3CBR%20%2F%3E%20CAN_0.MB%5BMB%5D.CS.B.CODE%20%3D%200xC%3B%20%2F%2FMB%20once%20transmit%20data%3CBR%20%2F%3E%7D%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1115114%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Example%20MPC5775K%20FlexCAN_with_interrupts_v1.1%20S32DS_1.1%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1115114%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EDear%20Martin!%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ENeed%20some%20help.%20Based%20on%20the%20example%20above%2C%20I%20tried%20to%20write%20a%20test%20program%20that%20uses%20only%20the%20CAN_0%20port%20for%20transmitting%20%2F%20receiving.%3CBR%20%2F%3EThe%20transmission%20direction%20is%20working%20properly%2C%20but%20the%20reception%20part%20is%20not.%20Even%20though%20I%20send%20a%20CAN%20message%20of%20the%20correct%20format%20to%20the%20VCANRX%20input%20(PAD17)%2C%20the%20interrupt%20routine%20(CAN_0_Receive_InterruptHandler)%20does%20not%20run%20(isr%20vectors%20defined.%20Work%20well%20if%20transmit%20CAN_0%20MB%20%3D%200).%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Evoid%20CAN_0_Receive_InterruptHandler(void)%3CBR%20%2F%3E%7B%3C%2FP%3E%3CP%3ECAN_0.IFLAG1.R%20%3D%200x1%3B%3C%2FP%3E%3CP%3EReceiveBuffer%5B0%5D%20%3D%20CAN_0.MB%5B0%5D.DATA.W%5B0%5D%3B%3CBR%20%2F%3E%20ReceiveBuffer%5B1%5D%20%3D%20CAN_0.MB%5B0%5D.DATA.W%5B1%5D%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eint%20main(void)%3CBR%20%2F%3E%7B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EINTC.PSR%5B281%5D.R%20%3D%200x8001%3B%20%2F*Set%20Core%20and%20interrupt%20priority*%2F%3CBR%20%2F%3E%20INTC.PSR%5B263%5D.R%20%3D%200x8001%3B%20%2F*Set%20Core%20and%20interrupt%20priority*%2F%3CBR%20%2F%3E%20INTC.PSR%5B226%5D.R%20%3D%200x8001%3B%20%2F%2Fset%20priority%20and%20core%20for%20PIT%20interrupt%3CBR%20%2F%3E%20INTC.PSR%5B522%5D.R%20%3D%200x8001%3B%20%2F%2Fset%20priority%20and%20core%20for%20CAN0%20RX%20interrupt%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%20HW_Init()%3B%3C%2FP%3E%3CP%3EFlexCAN_0_Init()%3B%3CBR%20%2F%3E%20Configure_RX_MessageBuffer()%3B%3C%2FP%3E%3CP%3E%2F%2FTransmit_Message(1%2C102)%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%2F%2F%20-%3CSPAN%20style%3D%22color%3A%20%23339966%3B%22%3E%26gt%3B%20OK%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E.%3C%2FP%3E%3CP%3E.%3C%2FP%3E%3CP%3E.%3C%2FP%3E%3CP%3E.%3C%2FP%3E%3CP%3E.%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3Estatic%20void%20GPIO_Init(void)%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.MSCR%5B36%5D.R%20%3D%200x32840001%3B%20%2F%2FDSPI0_CS0%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.MSCR%5B37%5D.R%20%3D%200x32840001%3B%20%2F%2FDSPI0_SCK%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.MSCR%5B38%5D.R%20%3D%200x32840001%3B%20%2F%2FDSPI0_SOUT%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.MSCR%5B39%5D.R%20%3D%200x308C0000%3B%20%2F%2FDSPI0_SIN%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3ESIUL2.MSCR%5B10%5D.R%20%3D%200x308C0001%3B%20%2F%2FDSPI2_CS0%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.IMCR%5B10%5D.B.SSS%20%3D%202%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3ESIUL2.MSCR%5B11%5D.R%20%3D%200x308C0001%3B%20%2F%2FDSPI2_SCK%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.IMCR%5B8%5D.B.SSS%20%3D%202%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3ESIUL2.MSCR%5B13%5D.R%20%3D%200x308C0000%3B%20%2F%2FDSPI2_SIN%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.IMCR%5B9%5D.B.SSS%20%3D%202%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3ESIUL2.MSCR%5B12%5D.R%20%3D%200x32840001%3B%20%2F%2FDSPI2_SOUT%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3ESIUL2.MSCR%5B146%5D.R%20%3D%200x32840001%3B%20%2F%2FDSPI3_CS0%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.MSCR%5B143%5D.R%20%3D%200x32840001%3B%20%2F%2FDSPI3_SCK%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.MSCR%5B144%5D.R%20%3D%200x32840001%3B%20%2F%2FDSPI3_SOUT%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.MSCR%5B145%5D.R%20%3D%200x308C0000%3B%20%2F%2FDSPI3_SIN%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3ESIUL2.MSCR%5B16%5D.B.SSS%20%3D%201%3B%20%2F*%20Pad%20n17%3A%20Source%20signal%20is%20CAN0_TX%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.MSCR%5B16%5D.B.OBE%20%3D%201%3B%20%2F*%20Pad%20n17%3A%20Output%20Buffer%20Enable%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.MSCR%5B16%5D.B.SRC%20%3D%203%3B%20%2F*%20Pad%20n17%3A%20Maximum%20slew%20rate%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3ESIUL2.MSCR%5B17%5D.B.IBE%20%3D%201%3B%20%2F*%20Pad%20n18%3A%20Enable%20pad%20for%20input%20-%20CAN0_RXD%20*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.IMCR%5B0%5D.B.SSS%20%3D%200%3B%20%2F*%20CAN_0_RXD%3A%20connected%20to%20pad%20n18%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3ESIUL2.MSCR%5B9%5D.R%20%3D%200x32000000%3B%20%2F%2FCANSTB%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20SIUL2.GPDO%5B9%5D.R%20%3D%200%3B%20%2F%2FCANSTB%200%20ON%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20font-family%3A%20'times%20new%20roman'%2C%20times%2C%20serif%3B%22%3E%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3Estatic%20void%20FlexCAN_0_Init()%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20int%20j%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Module%20enable*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MCR.B.MDIS%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Source%20clk%20is%20oscillator%20clock%20(40MHz)*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.CTRL1.B.CLKSRC%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Error%20correction%20configuration%20register%20enable*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.CTRL2.B.ECRWRE%20%3D%201%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Enable%20unrestricted%20write%20access%20to%20FlexCAN%20memory*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.CTRL2.B.WRMFRZ%20%3D%201%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Error%20configuration%20register%20write%20enable*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MECR.B.ECRWRDIS%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Disable%20memory%20error%20correction*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MECR.B.ECCDIS%20%3D%201%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Keep%20normal%20operation*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MECR.B.NCEFAFRZ%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Error%20configuration%20register%20write%20disable*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MECR.B.ECRWRDIS%20%3D%201%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Disable%20unrestricted%20write%20access%20to%20FlexCAN%20memory*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.CTRL2.B.WRMFRZ%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Error%20correction%20configuration%20register%20disable*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.CTRL2.B.ECRWRE%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%2F%2FCAN_0.MCR.B.FRZ%20%3D%201%3B%20%2F%2F%20freeze%20mode%20enabled%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%2F%2FCAN_0.MCR.B.HALT%20%3D%201%3B%20%2F%2F%20enters%20freeze%20mode%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%2F*Disable%20individual%20RX%20masking*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MCR.B.IRMQ%20%3D%201%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F%2FCAN_0.MCR.B.FRZ%20%3D%200%3B%20%2F%2F%20freeze%20mode%20enabled%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%2F%2FAN_0.MCR.B.HALT%20%3D%200%3B%20%2F%2F%20enters%20freeze%20mode%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%2F*CAN%20bit%20timing%20-%2040MHz%20oscillator%2C%20100kbps%20bitrate%2C*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.CTRL1.B.PRESDIV%20%3D%2039%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.CTRL1.B.RJW%20%3D%203%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.CTRL1.B.PSEG1%20%3D%203%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.CTRL1.B.PSEG2%20%3D%203%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.CTRL1.B.PROPSEG%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*enable%20interrupt%20for%20MB0*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.IMASK1.R%20%3D%200x00000001%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Clear%20all%20RX%20individual%20Mask%20Registers%20The%20corresponding%20bit%20in%20the%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20*%20filter%20is%20checked%22*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20for(j%20%3D%200%3B%20j%20%26lt%3B%2064%3B%20j%2B%2B)%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.RXIMR%5Bj%5D.R%20%3D%200xFFFFFFFF%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Set%20all%20message%20buffers%20RX%20inactive*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20for(j%20%3D%200%3B%20j%20%26lt%3B64%3B%20j%2B%2B)%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MB%5Bj%5D.CS.R%20%3D%200x0000%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Last%20two%20bits%20in%20MB0%20are%20do%20not%20care*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.RXIMR%5B0%5D.R%20%3D%200xFFFFFFFC%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Last%20three%20bits%20in%20MB1%20are%20do%20not%20care*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%2F%2FCAN_0.RXIMR%5B1%5D.R%20%3D%200xFFFFFFF8%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*Last%20four%20bits%20in%20MB2%20are%20do%20not%20care*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20%2F%2FCAN_0.RXIMR%5B2%5D.R%20%3D%200xFFFFFFF0%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%2F*No%20freeze%20mode%20request*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MCR.B.HALT%20%3D%200%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3Estatic%20void%20Configure_RX_MessageBuffer(void)%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MB%5B0%5D.CS.B.CODE%20%3D%200x0%3B%20%2F%2FMB%20inactive%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MB%5B0%5D.CS.B.IDE%20%3D%201%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MB%5B0%5D.ID.R%20%3D%200%3B%20%2F%2Fset%20standard%20ID%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MB%5B0%5D.DATA.W%5B1%5D%20%3D%200x00000000%3B%20%2F%2Fdata1%20set%20(optional)%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MB%5B0%5D.DATA.W%5B0%5D%20%3D%200x00000000%3B%20%2F%2Fdata0%20set%20(optional)%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%20CAN_0.MB%5B0%5D.CS.B.CODE%20%3D%200x4%3B%20%2F%2FMB%20empty%20-%20ready%20for%20receive%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E
No ratings
Version history
Last update:
‎02-18-2016 07:39 AM
Updated by: