<?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: S32K148 flexcan driver in S32K</title>
    <link>https://community.nxp.com/t5/S32K/S32K148-flexcan-driver/m-p/1166495#M8461</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;each time you want to receive new message into MB you need to call&amp;nbsp;FLEXCAN_DRV_Receive&lt;STRONG&gt;. &lt;/STRONG&gt;Once message is accepted then an MB interrupt is entered and a callback (if installed) is called. Thus this callback is a good way to know a message is received.&lt;/P&gt;
&lt;P&gt;Also within your code (main while loop etc) you can call&amp;nbsp;FLEXCAN_DRV_GetTransferStatus to ascertain the state of the current receive progress: in progress (or busy)&amp;nbsp;or complete (success).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Petr&lt;/P&gt;</description>
    <pubDate>Tue, 13 Oct 2020 05:52:25 GMT</pubDate>
    <dc:creator>PetrS</dc:creator>
    <dc:date>2020-10-13T05:52:25Z</dc:date>
    <item>
      <title>S32K148 flexcan driver</title>
      <link>https://community.nxp.com/t5/S32K/S32K148-flexcan-driver/m-p/1166008#M8448</link>
      <description>&lt;P&gt;Is there any way/interrupt handler that notifies CAN message has received on device?&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have used&amp;nbsp;&lt;SPAN&gt;&lt;STRONG&gt;FLEXCAN_DRV_InstallEventCallback()&lt;/STRONG&gt; to install &lt;STRONG&gt;callback&lt;/STRONG&gt; for MBs which triggers when&amp;nbsp;&lt;STRONG&gt;FLEXCAN_DRV_Receive() &lt;/STRONG&gt;is&amp;nbsp;called first. For which&amp;nbsp;&lt;STRONG&gt;FLEXCAN_DRV_Receive()&amp;nbsp;&lt;/STRONG&gt;to be called continuously or polled.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;But in my application, I want to get notified that CAN message has received on device and I can now call&amp;nbsp;&lt;STRONG&gt;FLEXCAN_DRV_Receive()&lt;/STRONG&gt;&amp;nbsp;and read the message in the user buffer. Is it possible? If yes how?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;(I'm using flexcan SDK drivers.)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 12 Oct 2020 10:41:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K148-flexcan-driver/m-p/1166008#M8448</guid>
      <dc:creator>pranitekatpure</dc:creator>
      <dc:date>2020-10-12T10:41:54Z</dc:date>
    </item>
    <item>
      <title>Re: S32K148 flexcan driver</title>
      <link>https://community.nxp.com/t5/S32K/S32K148-flexcan-driver/m-p/1166495#M8461</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;each time you want to receive new message into MB you need to call&amp;nbsp;FLEXCAN_DRV_Receive&lt;STRONG&gt;. &lt;/STRONG&gt;Once message is accepted then an MB interrupt is entered and a callback (if installed) is called. Thus this callback is a good way to know a message is received.&lt;/P&gt;
&lt;P&gt;Also within your code (main while loop etc) you can call&amp;nbsp;FLEXCAN_DRV_GetTransferStatus to ascertain the state of the current receive progress: in progress (or busy)&amp;nbsp;or complete (success).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Petr&lt;/P&gt;</description>
      <pubDate>Tue, 13 Oct 2020 05:52:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K148-flexcan-driver/m-p/1166495#M8461</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2020-10-13T05:52:25Z</dc:date>
    </item>
    <item>
      <title>Re: S32K148 flexcan driver</title>
      <link>https://community.nxp.com/t5/S32K/S32K148-flexcan-driver/m-p/1166658#M8471</link>
      <description>&lt;P&gt;Thanks,&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/52961"&gt;@PetrS&lt;/a&gt;.&lt;/P&gt;&lt;P&gt;That is okay in case of MB interrupt. I asking about interrupt when the message is received by device (like UART interrupt is generated when a packet is received in internal UART buffer registers then it can be read, in some MCUs). I want to avoid&amp;nbsp;&lt;STRONG&gt;FLEXCAN_DRV_Receive&amp;nbsp;&lt;/STRONG&gt;function call in while loop or periodic call.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Oct 2020 10:00:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K148-flexcan-driver/m-p/1166658#M8471</guid>
      <dc:creator>pranitekatpure</dc:creator>
      <dc:date>2020-10-13T10:00:59Z</dc:date>
    </item>
    <item>
      <title>Re: S32K148 flexcan driver</title>
      <link>https://community.nxp.com/t5/S32K/S32K148-flexcan-driver/m-p/1167358#M8480</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;if using SDK driver it does not give you a notification about message reception, there is no function for it.&amp;nbsp;FLEXCAN_DRV_Receive updates some internal driver variable and enable MB interrupt. Thus if new message is received or there is already some in the MB (MB flag is set) the interrupt is called and within this interrupt message is read out from that MB, driver variable is updated and MB interrupt is disabled.&lt;/P&gt;
&lt;P&gt;So you can check directly IFLAG register for MB flag, then call&amp;nbsp;FLEXCAN_DRV_Receive.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Petr&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Oct 2020 09:30:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K148-flexcan-driver/m-p/1167358#M8480</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2020-10-14T09:30:00Z</dc:date>
    </item>
  </channel>
</rss>

