<?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 stop CAN tx interrupt in S32K</title>
    <link>https://community.nxp.com/t5/S32K/How-to-stop-CAN-tx-interrupt/m-p/723853#M1737</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;I have been making source code to generate CAN RX interrupt.&lt;/P&gt;&lt;P&gt;I want to generate CAN RX interrupt only, but CAN TX interrupt works.&lt;/P&gt;&lt;P&gt;How can I stop CAN TX interrupt?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- MCU : S32K144(64pin)&lt;/P&gt;&lt;P&gt;- CAN TX MB : 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;S32K144.h&amp;gt;&lt;/P&gt;&lt;P&gt;I changed IMASK1 as below to stop interrupt of MB0 and MB1.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="1.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25609iAC8D46263AECE4A2/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.jpg" alt="1.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;* I also changed IMASK1 to 0x00000000 to see if CAN interrupt is stopped by clearing IMASK1 bit. But CAN TX interrupt works&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="4.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25488iFEDDB4F6A00B2BAC/image-size/large?v=v2&amp;amp;px=999" role="button" title="4.jpg" alt="4.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;Main.c&amp;gt;&lt;/P&gt;&lt;P&gt;1. above main()&lt;/P&gt;&lt;P&gt;&amp;nbsp;- I used 'callback()'&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="3.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25345i4A9E252D6AFBF3CB/image-size/large?v=v2&amp;amp;px=999" role="button" title="3.jpg" alt="3.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. inside main()&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="2.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25374iC43AF09FE7E134E8/image-size/large?v=v2&amp;amp;px=999" role="button" title="2.jpg" alt="2.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;* I also used 'INT_SYS_EnableIRQ()' but CAN TX interrupt works.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="5.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25490i2931C6C799406863/image-size/large?v=v2&amp;amp;px=999" role="button" title="5.jpg" alt="5.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* I refered below link but it did not work for my project.&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/message/917643?q=CAN"&gt;https://community.nxp.com/message/917643?q=CAN&lt;/A&gt; interru&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 15 Dec 2017 06:23:18 GMT</pubDate>
    <dc:creator>kimjunghyun</dc:creator>
    <dc:date>2017-12-15T06:23:18Z</dc:date>
    <item>
      <title>How to stop CAN tx interrupt</title>
      <link>https://community.nxp.com/t5/S32K/How-to-stop-CAN-tx-interrupt/m-p/723853#M1737</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;I have been making source code to generate CAN RX interrupt.&lt;/P&gt;&lt;P&gt;I want to generate CAN RX interrupt only, but CAN TX interrupt works.&lt;/P&gt;&lt;P&gt;How can I stop CAN TX interrupt?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- MCU : S32K144(64pin)&lt;/P&gt;&lt;P&gt;- CAN TX MB : 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;S32K144.h&amp;gt;&lt;/P&gt;&lt;P&gt;I changed IMASK1 as below to stop interrupt of MB0 and MB1.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="1.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25609iAC8D46263AECE4A2/image-size/large?v=v2&amp;amp;px=999" role="button" title="1.jpg" alt="1.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;* I also changed IMASK1 to 0x00000000 to see if CAN interrupt is stopped by clearing IMASK1 bit. But CAN TX interrupt works&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="4.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25488iFEDDB4F6A00B2BAC/image-size/large?v=v2&amp;amp;px=999" role="button" title="4.jpg" alt="4.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;Main.c&amp;gt;&lt;/P&gt;&lt;P&gt;1. above main()&lt;/P&gt;&lt;P&gt;&amp;nbsp;- I used 'callback()'&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="3.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25345i4A9E252D6AFBF3CB/image-size/large?v=v2&amp;amp;px=999" role="button" title="3.jpg" alt="3.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. inside main()&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="2.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25374iC43AF09FE7E134E8/image-size/large?v=v2&amp;amp;px=999" role="button" title="2.jpg" alt="2.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;* I also used 'INT_SYS_EnableIRQ()' but CAN TX interrupt works.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="5.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/25490i2931C6C799406863/image-size/large?v=v2&amp;amp;px=999" role="button" title="5.jpg" alt="5.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;* I refered below link but it did not work for my project.&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/message/917643?q=CAN"&gt;https://community.nxp.com/message/917643?q=CAN&lt;/A&gt; interru&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Dec 2017 06:23:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-to-stop-CAN-tx-interrupt/m-p/723853#M1737</guid>
      <dc:creator>kimjunghyun</dc:creator>
      <dc:date>2017-12-15T06:23:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to stop CAN tx interrupt</title>
      <link>https://community.nxp.com/t5/S32K/How-to-stop-CAN-tx-interrupt/m-p/723854#M1738</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;You should not disable MB interrupt by modifying macros in the header file.&lt;/P&gt;&lt;P&gt;Either write value directly into respective register, use macro properly or reuse the drive function that set the Interrupt Mask register.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyway, if driver is used, and you prepare TX MB, then within FLEXCAN_DRV_SEND the interrupt for the given MB is enabled. Once the message is successfully transmitted the interrupt is called. And if callback is defined it is called too within an interrupt function; FLEXCAN_IRQHandler().&lt;/P&gt;&lt;P&gt;The driver is written in this way.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can use Callback function to distinguish between TX, RX, etc interrupts&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void can_Callback(uint8_t instance, flexcan_event_type_t eventType, flexcan_state_t *flexcanState)&lt;/P&gt;&lt;P&gt;{&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; (void)flexcanState;&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; (void)instance;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&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; switch(eventType)&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; {&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; case FLEXCAN_EVENT_RX_COMPLETE:&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;&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; dataReceived = true;&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;&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; break;&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; case FLEXCAN_EVENT_TX_COMPLETE:&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;&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; break;&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; default:&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;&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; break;&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; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR, Petr&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Jan 2018 11:25:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-to-stop-CAN-tx-interrupt/m-p/723854#M1738</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2018-01-05T11:25:28Z</dc:date>
    </item>
  </channel>
</rss>

