<?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>Kinetis Microcontrollers中的主题 Re: How to recieve a CAN message using RX Interrupt (KEA128)?</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591562#M34801</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Earl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;yes, I receive messages without using an interrupt. But I do'nt know how to clear the RX flag when a message arrive because I can't write &lt;SPAN style="color: #51626f; font-family: Helvetica, sans-serif; font-size: 15.3333px;"&gt;MSCAN_CANRFLG |= 0x1u to clear it. I don't if it is the only thing I need to change or there are more.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: Helvetica, sans-serif; font-size: 15.3333px;"&gt;Can you help me?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: Helvetica, sans-serif; font-size: 15.3333px;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: Helvetica, sans-serif; font-size: 15.3333px;"&gt;Emilio&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 11 Aug 2016 02:22:27 GMT</pubDate>
    <dc:creator>emilioaronmoyer</dc:creator>
    <dc:date>2016-08-11T02:22:27Z</dc:date>
    <item>
      <title>How to recieve a CAN message using RX Interrupt (KEA128)?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591559#M34798</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using a kEA 128,I want to receive the CAN message by interruption (Receiver Full Interrupt). I'm using an example code that I download from &lt;A _jive_internal="true" data-containerid="2019" data-containertype="14" data-content-finding="Community" data-objectid="381639" data-objecttype="1" href="https://community.nxp.com/thread/381639#comments" style="font-size: 14px; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #017bba;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit; font-size: 11.5pt; font-family: Helvetica, sans-serif;"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;A href="https://community.nxp.com/thread/381639#comments" target="test_blank"&gt;https://community.nxp.com/thread/381639#comments&lt;/A&gt;&lt;SPAN style="font-size: 11.5pt; font-family: Helvetica, sans-serif; color: #51626f;"&gt;&amp;nbsp; (Can_test), I have set the MSCAN_SetRxCallBack() funtion to a funtion I create in main but nothing happened.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.5pt; font-family: Helvetica, sans-serif; color: #51626f;"&gt;what do I need to configure? Or do I need to clear the Receive Buffer Full?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.5pt; font-family: Helvetica, sans-serif; color: #51626f;"&gt;Note: I can't write MSCAN_CANRFLG |= 0x1u; to clear the rxf flag&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.5pt; font-family: Helvetica, sans-serif; color: #51626f;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.5pt; font-family: Helvetica, sans-serif; color: #51626f;"&gt;Emilio&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Aug 2016 22:40:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591559#M34798</guid>
      <dc:creator>emilioaronmoyer</dc:creator>
      <dc:date>2016-08-10T22:40:19Z</dc:date>
    </item>
    <item>
      <title>Re: How to recieve a CAN message using RX Interrupt (KEA128)?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591560#M34799</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I forgot to attached the code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Aug 2016 22:41:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591560#M34799</guid>
      <dc:creator>emilioaronmoyer</dc:creator>
      <dc:date>2016-08-10T22:41:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to recieve a CAN message using RX Interrupt (KEA128)?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591561#M34800</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From your opening title, can we assume that you have confirmed that your setup is receiving messages perfectly, but only that the interrupt environment isn't working for you?&amp;nbsp; That is, either the RxFIFO or RX MB(s) fill up with valid messages and you simply fail to process?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2016 01:37:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591561#M34800</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2016-08-11T01:37:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to recieve a CAN message using RX Interrupt (KEA128)?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591562#M34801</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Earl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;yes, I receive messages without using an interrupt. But I do'nt know how to clear the RX flag when a message arrive because I can't write &lt;SPAN style="color: #51626f; font-family: Helvetica, sans-serif; font-size: 15.3333px;"&gt;MSCAN_CANRFLG |= 0x1u to clear it. I don't if it is the only thing I need to change or there are more.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: Helvetica, sans-serif; font-size: 15.3333px;"&gt;Can you help me?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: Helvetica, sans-serif; font-size: 15.3333px;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: Helvetica, sans-serif; font-size: 15.3333px;"&gt;Emilio&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2016 02:22:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591562#M34801</guid>
      <dc:creator>emilioaronmoyer</dc:creator>
      <dc:date>2016-08-11T02:22:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to recieve a CAN message using RX Interrupt (KEA128)?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591563#M34802</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;KE is built with the 'older, simpler' MsCAN peripheral, which I am familiar with only as from the Star08 parts.&amp;nbsp; You should be able to 'clear' (by set) that flag once you have read the top entry. My RxISR there was this, to copy from the hardware FIFO to a software FIFO (and unscramble the ID bits on an 8bit CPU without the single-cycle barrel-shifter):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;typedef union{&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;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;//Byte/DWord duality, big-endian&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp; struct{&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;uint8_t hi;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;uint8_t mhi;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;uint8_t mlo;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;uint8_t lo;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp; } u8;&lt;/P&gt;&lt;P&gt;&amp;nbsp; struct {&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;uint16_t hi;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;uint16_t lo;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp; }u16;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint32_t u32;&lt;/P&gt;&lt;P&gt;}u32u8_t;&lt;/P&gt;&lt;P&gt;typedef struct&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; u32u8_t id;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint8_t buf[8];&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint8_t buf_len;&lt;/P&gt;&lt;P&gt;} can_t;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void can_rx_isr ( void ) {&lt;/P&gt;&lt;P&gt;&amp;nbsp; u32u8_t tmp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; can_t volatile *ptr;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* If the buffer is full, don't read message */&lt;/P&gt;&lt;P&gt;&amp;nbsp; if( can_buf_rx_cnt &amp;lt; CAN_BUF_RX_SIZE ) {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Mark we have one more in the buffer */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; can_buf_rx_cnt++;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Get pointer to the next open index */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr = &amp;amp;can_buf_rx[ can_buf_rx_head ];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Move on to next index in buffer */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( ++can_buf_rx_head &amp;gt;= CAN_BUF_RX_SIZE )&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; can_buf_rx_head = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Is it extended frame? */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Is it extended frame? */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( CANRIDR1_IDE ) {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Re-Pack extended frame id.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The 31st bit signifies it's extended */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //First build it shifted &amp;lt;&amp;lt; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp.u8.hi = (CANRIDR0 &amp;gt;&amp;gt; 2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp.u8.mhi = ((CANRIDR0 &amp;amp; 0x03)&amp;lt;&amp;lt;6)&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; //Squeeze out the IDE and SRR bits&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ((CANRIDR1 &amp;amp; CANRIDR1_ID_18_MASK) &amp;gt;&amp;gt; 2)&amp;nbsp;&amp;nbsp; // by shifting IDR0 and IDR1 bits 2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | (CANRIDR1 &amp;amp; CANRIDR1_ID_15_MASK);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp.u8.mlo = CANRIDR2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp.u8.lo = CANRIDR3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp.u32 &amp;gt;&amp;gt;= 1;&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;&amp;nbsp; //Finally, lop-off RTR from the LSB&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp.u8.hi |= 0x80;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;id.u8.lo = tmp.u8.lo;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;id.u8.mlo = tmp.u8.mlo;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;id.u8.mhi = tmp.u8.mhi;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;id.u8.hi = tmp.u8.hi;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Get standard frame id */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;id.u32 = ((u32_t)CANRIDR0 &amp;lt;&amp;lt; (8-CANRIDR1_ID_18_BITNUM))&lt;/P&gt;&lt;P&gt;&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; | (CANRIDR1 &amp;gt;&amp;gt; CANRIDR1_ID_18_BITNUM);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Load data */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;buf[0] = CANRDSR0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;buf[1] = CANRDSR1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;buf[2] = CANRDSR2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;buf[3] = CANRDSR3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;buf[4] = CANRDSR4;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;buf[5] = CANRDSR5;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;buf[6] = CANRDSR6;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;buf[7] = CANRDSR7;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Get data length code (DLC) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr-&amp;gt;buf_len = CANRDLR &amp;amp; CANRDLR_DLC_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Clear rx interrupt */&lt;/P&gt;&lt;P&gt;&amp;nbsp; CANRFLG = CANRFLG_RXF_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; return;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One other thing!!! DO NOT |= this MSCAN_CANRFLG register!!!! You will 'clear' ANY other 'active' indication therein all at the same time (in this case, I suppose, just the 'overrun' flag):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;Write: Anytime when not in initialization mode, except&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;RSTAT[1:0] and TSTAT[1:0] flags which are read-only; write&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;of 1 clears flag; write of 0 is ignored.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2016 12:44:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591563#M34802</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2016-08-11T12:44:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to recieve a CAN message using RX Interrupt (KEA128)?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591564#M34803</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Earl,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks, I know I need to clear the flag by setting it but I don't know which&amp;nbsp; command to used. Neither the &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14px;"&gt;CANRFLG = CANRFLG_RXF_MASK; nor the &lt;SPAN style="color: #51626f; font-family: Helvetica, sans-serif; font-size: 15.3333px;"&gt;MSCAN_CANRFLG |= 0x1u, the programa doesn't recognize them and mark as an error (Undeclared).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Do you know to do it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Emilio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2016 16:52:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591564#M34803</guid>
      <dc:creator>emilioaronmoyer</dc:creator>
      <dc:date>2016-08-11T16:52:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to recieve a CAN message using RX Interrupt (KEA128)?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591565#M34804</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your header file SKEAZ1284.h defines this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;MSCAN_CANRFLG_RXF_MASK&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; &lt;/TD&gt;&lt;TD&gt;0x1u&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Now your other file mscan.h defines this macro:&lt;/P&gt;&lt;P&gt;__STATIC_INLINE void CAN_ClearRXF_Flag(MSCAN_Type *pCANx)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pCANx-&amp;gt;CANRFLG |= MSCAN_CANRFLG_RXF_MASK;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but again that does the 'inappropriate' |=. So you can either 'fix' that macro and instantiate it, as:&lt;/P&gt;&lt;P&gt;CAN_ClearRXF_Flag(MSCAN);&lt;/P&gt;&lt;P&gt;OR put in your own&lt;/P&gt;&lt;P&gt;MSCAN.CANRFLG = MSCAN_CANRFLG_RXF_MASK;&lt;/P&gt;&lt;P&gt;Of course that mscan.c code also has the whole routine CAN_ReadOneFrameFromBuff that 'pulls' a frame and clears that flag at the end, not unlike my code above, although it lets the &lt;SPAN style="text-decoration: underline;"&gt;compiler&lt;/SPAN&gt; shift&amp;amp;pack an EID to a single 29 bit quantity (and uses the above macro you would want to fix).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2016 17:33:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-recieve-a-CAN-message-using-RX-Interrupt-KEA128/m-p/591565#M34804</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2016-08-11T17:33:26Z</dc:date>
    </item>
  </channel>
</rss>

