<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic MPC5604B CAN RX Interrupt in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/MPC5604B-CAN-RX-Interrupt/m-p/579533#M4137</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I dont know why dont occur RX Can interrupt &lt;/P&gt;&lt;P&gt;please review the code&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(configuration function)&lt;/P&gt;&lt;P&gt;void InitCAN_0 (void)&amp;nbsp; &lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t&amp;nbsp;&amp;nbsp; i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.MCR.R = 0x5000003F;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Put in Freeze Mode &amp;amp; enable all 64 msg bufs */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.CR.R = 0x01490082;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure for 8MHz OSC, 500KHz bit time */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;64; i++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[i].CS.B.CODE = 0; /* Inactivate all message buffers */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].CS.B.CODE = 8;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Message Buffer 0 set to TX INACTIVE */&lt;BR /&gt; CAN_0.BUF[9].CS.B.CODE = 8;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Message Buffer 0 set to TX INACTIVE */&lt;/P&gt;&lt;P&gt; CAN_0.BUF[0].CS.B.IDE = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MB 4 will look for a standard ID */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[0].ID.B.STD_ID = 0x154; /* MB 4 will look for ID = 555 */&lt;BR /&gt; CAN_0.BUF[0].CS.B.CODE = 4;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Message Buffer 0 set to RX INACTIVE */&lt;BR /&gt; CAN_0.RXGMASK.R = 0x1FFFFFFF;&amp;nbsp;&amp;nbsp; /* Global acceptance mask */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIU.PCR[16].R = 0x0624;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MPC56xxB: Config port B0 as CAN0TX, open drain */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIU.PCR[17].R = 0x0100;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MPC56xxB: Configure port B1 as CAN0RX */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.MCR.R = 0x0000003F;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Negate FlexCAN 0 halt state for 64 MB */&lt;BR /&gt; /* CAN_0.IMRL.B.BUF01M = 1; */&lt;BR /&gt; CAN_0.IMRL.B.BUF00M = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTC.PSR[68].R = 0x04;&lt;BR /&gt;}&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(TX Function)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].CS.B.IDE = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Use standard ID length */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].ID.B.STD_ID = 0x148; /* Transmit ID is 0x148 */&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].CS.B.RTR = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Data frame, not remote Tx request frame */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].CS.B.LENGTH = 8 ; /* # bytes to transmit w/o null */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;sizeof(TxData); i++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].DATA.B[i] = TxData[i]; /* Data to be transmitted */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(RX Function)&lt;/P&gt;&lt;P&gt;while (CAN_0.IFRL.B.BUF00I == 0){};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gRxCODE = CAN_0.BUF[0].CS.B.CODE;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read CODE, ID, LENGTH, DATA, TIMESTAMP */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gRxID = CAN_0.BUF[0].ID.B.STD_ID;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gRxLENGTH = CAN_0.BUF[0].CS.B.LENGTH;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (j=0; j&amp;lt;gRxLENGTH; j++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gRxDATA[j] = CAN_0.BUF[0].DATA.B[j];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gRxTIMESTAMP = CAN_0.BUF[0].CS.B.TIMESTAMP; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummy = CAN_0.TIMER.R;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read TIMER to unlock message buffers */&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.IFRL.R = 0x00000001;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear CAN 0 MB 1flag */&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;interrupt means is vector table&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#pragma section data_type ".intc_sw_isr_vector_table" ".intc_sw_isr_vector_table" data_mode=far_abs&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; uint32_t IntcIsrVectorTable[] = {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 00 - 04 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 05 - 09 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 10 - 14 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 15 - 19 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 20 - 24 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 25 - 29 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 30 - 34 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 35 - 39 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 40 - 44 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 45 - 49 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 50 - 54 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 55 - 59 */&lt;/P&gt;&lt;P&gt; /* Use the next line for MPC551x or MPC563x: */&lt;/P&gt;&lt;P&gt; /* (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy,*/ /* ISRs 60 - 64 */ &lt;/P&gt;&lt;P&gt; /* Use the next line for MPC56xB, MPC56xxP, MPC56xS, where PIT1 vector number is 60: */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Pit1ISR, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;ADCECHISR, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 60 - 64 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;CanISR1, (uint32_t)&amp;amp;Dummy, /* ISRs 65 - 69 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 70 - 74 */&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(interrupt service routine function)&lt;/P&gt;&lt;P&gt;void CanISR1 (void)&lt;/P&gt;&lt;P&gt;{ &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RecieveMsg(); &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 08 Aug 2016 11:14:12 GMT</pubDate>
    <dc:creator>joyoungdae</dc:creator>
    <dc:date>2016-08-08T11:14:12Z</dc:date>
    <item>
      <title>MPC5604B CAN RX Interrupt</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5604B-CAN-RX-Interrupt/m-p/579533#M4137</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I dont know why dont occur RX Can interrupt &lt;/P&gt;&lt;P&gt;please review the code&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(configuration function)&lt;/P&gt;&lt;P&gt;void InitCAN_0 (void)&amp;nbsp; &lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t&amp;nbsp;&amp;nbsp; i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.MCR.R = 0x5000003F;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Put in Freeze Mode &amp;amp; enable all 64 msg bufs */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.CR.R = 0x01490082;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Configure for 8MHz OSC, 500KHz bit time */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;64; i++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[i].CS.B.CODE = 0; /* Inactivate all message buffers */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].CS.B.CODE = 8;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Message Buffer 0 set to TX INACTIVE */&lt;BR /&gt; CAN_0.BUF[9].CS.B.CODE = 8;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Message Buffer 0 set to TX INACTIVE */&lt;/P&gt;&lt;P&gt; CAN_0.BUF[0].CS.B.IDE = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MB 4 will look for a standard ID */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[0].ID.B.STD_ID = 0x154; /* MB 4 will look for ID = 555 */&lt;BR /&gt; CAN_0.BUF[0].CS.B.CODE = 4;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Message Buffer 0 set to RX INACTIVE */&lt;BR /&gt; CAN_0.RXGMASK.R = 0x1FFFFFFF;&amp;nbsp;&amp;nbsp; /* Global acceptance mask */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIU.PCR[16].R = 0x0624;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MPC56xxB: Config port B0 as CAN0TX, open drain */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIU.PCR[17].R = 0x0100;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* MPC56xxB: Configure port B1 as CAN0RX */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.MCR.R = 0x0000003F;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Negate FlexCAN 0 halt state for 64 MB */&lt;BR /&gt; /* CAN_0.IMRL.B.BUF01M = 1; */&lt;BR /&gt; CAN_0.IMRL.B.BUF00M = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTC.PSR[68].R = 0x04;&lt;BR /&gt;}&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(TX Function)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].CS.B.IDE = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Use standard ID length */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].ID.B.STD_ID = 0x148; /* Transmit ID is 0x148 */&lt;BR /&gt; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].CS.B.RTR = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Data frame, not remote Tx request frame */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].CS.B.LENGTH = 8 ; /* # bytes to transmit w/o null */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (i=0; i&amp;lt;sizeof(TxData); i++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.BUF[8].DATA.B[i] = TxData[i]; /* Data to be transmitted */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(RX Function)&lt;/P&gt;&lt;P&gt;while (CAN_0.IFRL.B.BUF00I == 0){};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gRxCODE = CAN_0.BUF[0].CS.B.CODE;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read CODE, ID, LENGTH, DATA, TIMESTAMP */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gRxID = CAN_0.BUF[0].ID.B.STD_ID;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gRxLENGTH = CAN_0.BUF[0].CS.B.LENGTH;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (j=0; j&amp;lt;gRxLENGTH; j++)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gRxDATA[j] = CAN_0.BUF[0].DATA.B[j];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gRxTIMESTAMP = CAN_0.BUF[0].CS.B.TIMESTAMP; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummy = CAN_0.TIMER.R;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read TIMER to unlock message buffers */&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_0.IFRL.R = 0x00000001;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear CAN 0 MB 1flag */&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;interrupt means is vector table&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#pragma section data_type ".intc_sw_isr_vector_table" ".intc_sw_isr_vector_table" data_mode=far_abs&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; uint32_t IntcIsrVectorTable[] = {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 00 - 04 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 05 - 09 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 10 - 14 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 15 - 19 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 20 - 24 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 25 - 29 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 30 - 34 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 35 - 39 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 40 - 44 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 45 - 49 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 50 - 54 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 55 - 59 */&lt;/P&gt;&lt;P&gt; /* Use the next line for MPC551x or MPC563x: */&lt;/P&gt;&lt;P&gt; /* (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy,*/ /* ISRs 60 - 64 */ &lt;/P&gt;&lt;P&gt; /* Use the next line for MPC56xB, MPC56xxP, MPC56xS, where PIT1 vector number is 60: */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Pit1ISR, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;ADCECHISR, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 60 - 64 */ &lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;CanISR1, (uint32_t)&amp;amp;Dummy, /* ISRs 65 - 69 */&lt;/P&gt;&lt;P&gt; (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, (uint32_t)&amp;amp;Dummy, /* ISRs 70 - 74 */&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(interrupt service routine function)&lt;/P&gt;&lt;P&gt;void CanISR1 (void)&lt;/P&gt;&lt;P&gt;{ &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RecieveMsg(); &lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Aug 2016 11:14:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5604B-CAN-RX-Interrupt/m-p/579533#M4137</guid>
      <dc:creator>joyoungdae</dc:creator>
      <dc:date>2016-08-08T11:14:12Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5604B CAN RX Interrupt</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5604B-CAN-RX-Interrupt/m-p/579534#M4138</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check following…&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;You set receive ID as 0x154, but transmit ID 0x148. As RXGMASK.R = 0x1FFFFFFF the received ID must be equal so message can be stored into MB0.&lt;/LI&gt;&lt;LI&gt;if the FlexCAN is not connected to other node, test the behavior with loopback mode first.&lt;/LI&gt;&lt;LI&gt;Check if the MB flag is set (IFRL[BUF00I]). If yes, INTC is not properly initialized.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR, Petr &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Aug 2016 12:05:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5604B-CAN-RX-Interrupt/m-p/579534#M4138</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2016-08-08T12:05:35Z</dc:date>
    </item>
  </channel>
</rss>

