<?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 How to receive multiple IDs in a single buffer on flexcan in S32K</title>
    <link>https://community.nxp.com/t5/S32K/How-to-receive-multiple-IDs-in-a-single-buffer-on-flexcan/m-p/1846738#M34181</link>
    <description>&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;I'm using S32K144W and I can only use up to 7 buffers with CAN FD and 64byte, but I have a lot of CAN IDs to use.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it possible to use multiple IDs with one buffer?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For example, CAN0-&amp;gt;RAMn [1*MSG_BUF_SIZE + 0] = 0xC4000000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[ 1*MSG_BUF_SIZE + 1] = 0x100&amp;lt;&amp;lt;18;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;With buffer one.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And when I receive data of various different IDs using buffer 1, should I initialize the buffer every time I receive it?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;It's part of the code, but as buffer 1, I use buffer 0x100, buffer 2&lt;BR /&gt;You can receive up to 0x200-20F.&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxCODE;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxID;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxLENGTH;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxDATA[16]={0,};&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxDATA2[16]={0,};&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxDATA3[16]={0,};&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxTIMESTAMP;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void CAN0_Init(void)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#define MSG_BUF_SIZE&amp;nbsp; 18&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;uint32_t&amp;nbsp; &amp;nbsp;i=0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;uint32_t&amp;nbsp; &amp;nbsp;k=0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;PCC-&amp;gt;PCCn[PCC_FlexCAN0_INDEX] |= PCC_PCCn_CGC_MASK;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;MCR |= CAN_MCR_MDIS_MASK;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;CTRL1 |= CAN_CTRL1_CLKSRC_MASK;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;MCR &amp;amp;= ~CAN_MCR_MDIS_MASK; //CAN&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;while (!((CAN0-&amp;gt;MCR &amp;amp; CAN_MCR_FRZACK_MASK) &amp;gt;&amp;gt; CAN_MCR_FRZACK_SHIFT))&amp;nbsp; {}&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;for(i=0; i&amp;lt;7; i++ )&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;for(k=0;k&amp;lt;16;k++)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[i*MSG_BUF_SIZE +2+k] = 0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RXMGMASK = 0x1FFFFFFF;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[ 1*MSG_BUF_SIZE + 0] = 0xC4000000;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[ 1*MSG_BUF_SIZE + 1] = 0x100&amp;lt;&amp;lt;18;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[ 3*MSG_BUF_SIZE + 0] = 0xC4000000;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[ 3*MSG_BUF_SIZE + 1] = 0x200&amp;lt;&amp;lt;18;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RXIMR[3] = 0x3F0&amp;lt;&amp;lt;18;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;FDCTRL = CAN_FDCTRL_FDRATE_MASK|CAN_FDCTRL_MBDSR0(3)|CAN_FDCTRL_TDCEN_MASK|CAN_FDCTRL_TDCOFF(5);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;CTRL2 = CAN_CTRL2_ISOCANFDEN_MASK; //ISO CANFD 온&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;MCR =CAN_MCR_IRMQ_MASK|CAN_MCR_MAXMB(6)|CAN_MCR_FDEN_MASK;//CAN_MCR_IRMQ_MASK|&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;while ((CAN0-&amp;gt;MCR &amp;amp;&amp;amp; CAN_MCR_FRZACK_MASK) &amp;gt;&amp;gt; CAN_MCR_FRZACK_SHIFT)&amp;nbsp; {}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;while ((CAN0-&amp;gt;MCR &amp;amp;&amp;amp; CAN_MCR_NOTRDY_MASK) &amp;gt;&amp;gt; CAN_MCR_NOTRDY_SHIFT)&amp;nbsp; {}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void CAN0RX(void)&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;uint8_t j;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RxCODE&amp;nbsp; &amp;nbsp;= (CAN0-&amp;gt;RAMn[ 3*MSG_BUF_SIZE + 0] &amp;amp; 0x07000000) &amp;gt;&amp;gt; 24;&amp;nbsp; //CODE 7&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RxID&amp;nbsp; &amp;nbsp; &amp;nbsp;= (CAN0-&amp;gt;RAMn[ 3*MSG_BUF_SIZE + 1] &amp;amp; CAN_WMBn_ID_ID_MASK)&amp;nbsp; &amp;gt;&amp;gt; CAN_WMBn_ID_ID_SHIFT ;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RxLENGTH = (CAN0-&amp;gt;RAMn[ 3*MSG_BUF_SIZE + 0] &amp;amp; CAN_WMBn_CS_DLC_MASK) &amp;gt;&amp;gt; CAN_WMBn_CS_DLC_SHIFT;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;for(j=0; j&amp;lt;16; j++ )&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RxDATA[j]=CAN0-&amp;gt;RAMn[1*MSG_BUF_SIZE +2+j];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RxDATA3[j]=CAN0-&amp;gt;RAMn[3*MSG_BUF_SIZE +2+j];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;IFLAG1 = 0x00000010;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 15 Apr 2024 05:46:46 GMT</pubDate>
    <dc:creator>Oido</dc:creator>
    <dc:date>2024-04-15T05:46:46Z</dc:date>
    <item>
      <title>How to receive multiple IDs in a single buffer on flexcan</title>
      <link>https://community.nxp.com/t5/S32K/How-to-receive-multiple-IDs-in-a-single-buffer-on-flexcan/m-p/1846738#M34181</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;I'm using S32K144W and I can only use up to 7 buffers with CAN FD and 64byte, but I have a lot of CAN IDs to use.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it possible to use multiple IDs with one buffer?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For example, CAN0-&amp;gt;RAMn [1*MSG_BUF_SIZE + 0] = 0xC4000000;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[ 1*MSG_BUF_SIZE + 1] = 0x100&amp;lt;&amp;lt;18;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;With buffer one.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And when I receive data of various different IDs using buffer 1, should I initialize the buffer every time I receive it?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;It's part of the code, but as buffer 1, I use buffer 0x100, buffer 2&lt;BR /&gt;You can receive up to 0x200-20F.&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxCODE;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxID;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxLENGTH;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxDATA[16]={0,};&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxDATA2[16]={0,};&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxDATA3[16]={0,};&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;uint32_t&amp;nbsp; RxTIMESTAMP;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void CAN0_Init(void)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#define MSG_BUF_SIZE&amp;nbsp; 18&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;uint32_t&amp;nbsp; &amp;nbsp;i=0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;uint32_t&amp;nbsp; &amp;nbsp;k=0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;PCC-&amp;gt;PCCn[PCC_FlexCAN0_INDEX] |= PCC_PCCn_CGC_MASK;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;MCR |= CAN_MCR_MDIS_MASK;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;CTRL1 |= CAN_CTRL1_CLKSRC_MASK;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;MCR &amp;amp;= ~CAN_MCR_MDIS_MASK; //CAN&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;while (!((CAN0-&amp;gt;MCR &amp;amp; CAN_MCR_FRZACK_MASK) &amp;gt;&amp;gt; CAN_MCR_FRZACK_SHIFT))&amp;nbsp; {}&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;for(i=0; i&amp;lt;7; i++ )&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;for(k=0;k&amp;lt;16;k++)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[i*MSG_BUF_SIZE +2+k] = 0;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RXMGMASK = 0x1FFFFFFF;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[ 1*MSG_BUF_SIZE + 0] = 0xC4000000;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[ 1*MSG_BUF_SIZE + 1] = 0x100&amp;lt;&amp;lt;18;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[ 3*MSG_BUF_SIZE + 0] = 0xC4000000;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RAMn[ 3*MSG_BUF_SIZE + 1] = 0x200&amp;lt;&amp;lt;18;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;RXIMR[3] = 0x3F0&amp;lt;&amp;lt;18;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;FDCTRL = CAN_FDCTRL_FDRATE_MASK|CAN_FDCTRL_MBDSR0(3)|CAN_FDCTRL_TDCEN_MASK|CAN_FDCTRL_TDCOFF(5);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;CTRL2 = CAN_CTRL2_ISOCANFDEN_MASK; //ISO CANFD 온&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;MCR =CAN_MCR_IRMQ_MASK|CAN_MCR_MAXMB(6)|CAN_MCR_FDEN_MASK;//CAN_MCR_IRMQ_MASK|&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;while ((CAN0-&amp;gt;MCR &amp;amp;&amp;amp; CAN_MCR_FRZACK_MASK) &amp;gt;&amp;gt; CAN_MCR_FRZACK_SHIFT)&amp;nbsp; {}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;while ((CAN0-&amp;gt;MCR &amp;amp;&amp;amp; CAN_MCR_NOTRDY_MASK) &amp;gt;&amp;gt; CAN_MCR_NOTRDY_SHIFT)&amp;nbsp; {}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void CAN0RX(void)&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;uint8_t j;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RxCODE&amp;nbsp; &amp;nbsp;= (CAN0-&amp;gt;RAMn[ 3*MSG_BUF_SIZE + 0] &amp;amp; 0x07000000) &amp;gt;&amp;gt; 24;&amp;nbsp; //CODE 7&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RxID&amp;nbsp; &amp;nbsp; &amp;nbsp;= (CAN0-&amp;gt;RAMn[ 3*MSG_BUF_SIZE + 1] &amp;amp; CAN_WMBn_ID_ID_MASK)&amp;nbsp; &amp;gt;&amp;gt; CAN_WMBn_ID_ID_SHIFT ;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RxLENGTH = (CAN0-&amp;gt;RAMn[ 3*MSG_BUF_SIZE + 0] &amp;amp; CAN_WMBn_CS_DLC_MASK) &amp;gt;&amp;gt; CAN_WMBn_CS_DLC_SHIFT;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;for(j=0; j&amp;lt;16; j++ )&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RxDATA[j]=CAN0-&amp;gt;RAMn[1*MSG_BUF_SIZE +2+j];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;RxDATA3[j]=CAN0-&amp;gt;RAMn[3*MSG_BUF_SIZE +2+j];&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CAN0-&amp;gt;IFLAG1 = 0x00000010;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 15 Apr 2024 05:46:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-to-receive-multiple-IDs-in-a-single-buffer-on-flexcan/m-p/1846738#M34181</guid>
      <dc:creator>Oido</dc:creator>
      <dc:date>2024-04-15T05:46:46Z</dc:date>
    </item>
  </channel>
</rss>

