<?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 Re: FlexCAN S32K344 Polling in S32K</title>
    <link>https://community.nxp.com/t5/S32K/FlexCAN-S32K344-Polling/m-p/1933196#M39572</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/221691"&gt;@Samuel_DCosta&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Are you testing the project with two nodes (two boards or one board and a CAN analyzer)? If using an analyzer, please confirm if the speed and sampling point are correct, as well as all the other configuration values.&lt;/P&gt;
&lt;P&gt;The GetTransferStatus function is used in polling applications, since it returns either true or false depending on if the last FlexCAN transfer was successful. This is why polling is set to true, and the MCU waits until successful transfer before reading a response:&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;    FlexCAN_Ip_Send(INST_FLEXCAN_0, TX_MB_IDX, &amp;amp;rx_info, MSG_ID, (uint8 *)&amp;amp;dummyData);
    // Polling
    while(FlexCAN_Ip_GetTransferStatus(INST_FLEXCAN_0, TX_MB_IDX) != FLEXCAN_STATUS_SUCCESS)
    {
    	FlexCAN_Ip_MainFunctionWrite(INST_FLEXCAN_0, TX_MB_IDX);
    }&lt;/LI-CODE&gt;
&lt;P&gt;You can skip the polling if using interrupts. You can also use the following community posts as reference:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://community.nxp.com/t5/S32K/How-to-use-FlexCAN-Ip-in-S32K344/m-p/1409819" target="_blank"&gt;Solved: How to use FlexCAN_Ip in S32K344 - NXP Community&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-FlexCAN-Ip-TX-RX-EnhanceRXFIFO-test-S32DS3-4/ta-p/1536225" target="_blank"&gt;Example S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFO test S32DS3.4 RTD200 - NXP Community&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The last one is based on RTD 2.0.0, but it can be ported into the newest releases by copying the configuration.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;BR /&gt;Julián&lt;/P&gt;</description>
    <pubDate>Thu, 15 Aug 2024 21:00:48 GMT</pubDate>
    <dc:creator>Julián_AragónM</dc:creator>
    <dc:date>2024-08-15T21:00:48Z</dc:date>
    <item>
      <title>FlexCAN S32K344 Polling</title>
      <link>https://community.nxp.com/t5/S32K/FlexCAN-S32K344-Polling/m-p/1932813#M39545</link>
      <description>&lt;P&gt;I used this example as a base and modified it for S32k344&lt;BR /&gt;&lt;A href="https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-CAN-Transmit-amp-Receive-Using-Polling-mode-DS3/ta-p/1789191" target="_blank"&gt;Example S32K312 CAN Transmit &amp;amp; Receive Using Polling mode DS3.5 RTD300 - NXP Community&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;I do not see a difference if I have the code as&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Samuel_DCosta_0-1723710728635.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/293419i061921A28B711920/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Samuel_DCosta_0-1723710728635.png" alt="Samuel_DCosta_0-1723710728635.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;as compared to&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Samuel_DCosta_1-1723710782963.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/293420i1AAED84CDA2B18CD/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Samuel_DCosta_1-1723710782963.png" alt="Samuel_DCosta_1-1723710782963.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;What am I missing here?&lt;BR /&gt;&lt;BR /&gt;The behaviour is the same if&amp;nbsp;FlexCAN_Ip_GetTransferStatus is commented.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2024 08:35:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/FlexCAN-S32K344-Polling/m-p/1932813#M39545</guid>
      <dc:creator>Samuel_DCosta</dc:creator>
      <dc:date>2024-08-15T08:35:31Z</dc:date>
    </item>
    <item>
      <title>Re: FlexCAN S32K344 Polling</title>
      <link>https://community.nxp.com/t5/S32K/FlexCAN-S32K344-Polling/m-p/1933196#M39572</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/221691"&gt;@Samuel_DCosta&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Are you testing the project with two nodes (two boards or one board and a CAN analyzer)? If using an analyzer, please confirm if the speed and sampling point are correct, as well as all the other configuration values.&lt;/P&gt;
&lt;P&gt;The GetTransferStatus function is used in polling applications, since it returns either true or false depending on if the last FlexCAN transfer was successful. This is why polling is set to true, and the MCU waits until successful transfer before reading a response:&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;    FlexCAN_Ip_Send(INST_FLEXCAN_0, TX_MB_IDX, &amp;amp;rx_info, MSG_ID, (uint8 *)&amp;amp;dummyData);
    // Polling
    while(FlexCAN_Ip_GetTransferStatus(INST_FLEXCAN_0, TX_MB_IDX) != FLEXCAN_STATUS_SUCCESS)
    {
    	FlexCAN_Ip_MainFunctionWrite(INST_FLEXCAN_0, TX_MB_IDX);
    }&lt;/LI-CODE&gt;
&lt;P&gt;You can skip the polling if using interrupts. You can also use the following community posts as reference:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://community.nxp.com/t5/S32K/How-to-use-FlexCAN-Ip-in-S32K344/m-p/1409819" target="_blank"&gt;Solved: How to use FlexCAN_Ip in S32K344 - NXP Community&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-FlexCAN-Ip-TX-RX-EnhanceRXFIFO-test-S32DS3-4/ta-p/1536225" target="_blank"&gt;Example S32K344 FlexCAN_Ip TX/RX/EnhanceRXFIFO test S32DS3.4 RTD200 - NXP Community&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The last one is based on RTD 2.0.0, but it can be ported into the newest releases by copying the configuration.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;BR /&gt;Julián&lt;/P&gt;</description>
      <pubDate>Thu, 15 Aug 2024 21:00:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/FlexCAN-S32K344-Polling/m-p/1933196#M39572</guid>
      <dc:creator>Julián_AragónM</dc:creator>
      <dc:date>2024-08-15T21:00:48Z</dc:date>
    </item>
  </channel>
</rss>

