<?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 CAN Rx Interrupt is not generated in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/CAN-Rx-Interrupt-is-not-generated/m-p/644675#M39110</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;I have a simple code warrior 10.6 project that uses the processor's expert capabilities to generate an OS and a CAN driver (CAN_LDD). There are some periodic tasks defined that do some specific work, but they have nothing to do with the problem I am facing. Basically, I call once&lt;/P&gt;&lt;P&gt;CANPtr = CAN1_Init(NULL);&lt;/P&gt;&lt;P&gt;to initialize the driver, followed by periodic calls in a task to the function below:&lt;/P&gt;&lt;P&gt;Error = CAN1_SendFrame(CANPtr, 1U, &amp;amp;Frame);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The transmission works flawlessly and I can see that &lt;/P&gt;&lt;P&gt;PE_ISR(&lt;STRONG&gt;CAN1_InterruptRxTx&lt;/STRONG&gt;) in CAN1.c gets called to signal the frame is transmitted. So far so good...&lt;/P&gt;&lt;P&gt;However, when I send a CAN frame to the device (of course an external CAN transceiver is connected) I see that no CAN Rx interrupt is ever called, in fact it should be processed in the same PE_ISR (&lt;STRONG&gt;CAN1_InterruptRxTx&lt;/STRONG&gt;). At first I thought I had some issues with the CAN transceiver, but a logic analyzer showed me that the CAN data arrived at the RX pin of the processor. I tried to use the loopback mode&amp;nbsp;which again led to a CAN Tx interrupt being generated, while no Rx interrupt occurred. I attach screenshots of my configuration as I might be doing something wrong there.&lt;/P&gt;&lt;P&gt;Any advice appreciated.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Regards&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-337660"&gt;ConfigScreens.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 09 Nov 2016 10:38:58 GMT</pubDate>
    <dc:creator>georgipetrov</dc:creator>
    <dc:date>2016-11-09T10:38:58Z</dc:date>
    <item>
      <title>CAN Rx Interrupt is not generated</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/CAN-Rx-Interrupt-is-not-generated/m-p/644675#M39110</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;I have a simple code warrior 10.6 project that uses the processor's expert capabilities to generate an OS and a CAN driver (CAN_LDD). There are some periodic tasks defined that do some specific work, but they have nothing to do with the problem I am facing. Basically, I call once&lt;/P&gt;&lt;P&gt;CANPtr = CAN1_Init(NULL);&lt;/P&gt;&lt;P&gt;to initialize the driver, followed by periodic calls in a task to the function below:&lt;/P&gt;&lt;P&gt;Error = CAN1_SendFrame(CANPtr, 1U, &amp;amp;Frame);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The transmission works flawlessly and I can see that &lt;/P&gt;&lt;P&gt;PE_ISR(&lt;STRONG&gt;CAN1_InterruptRxTx&lt;/STRONG&gt;) in CAN1.c gets called to signal the frame is transmitted. So far so good...&lt;/P&gt;&lt;P&gt;However, when I send a CAN frame to the device (of course an external CAN transceiver is connected) I see that no CAN Rx interrupt is ever called, in fact it should be processed in the same PE_ISR (&lt;STRONG&gt;CAN1_InterruptRxTx&lt;/STRONG&gt;). At first I thought I had some issues with the CAN transceiver, but a logic analyzer showed me that the CAN data arrived at the RX pin of the processor. I tried to use the loopback mode&amp;nbsp;which again led to a CAN Tx interrupt being generated, while no Rx interrupt occurred. I attach screenshots of my configuration as I might be doing something wrong there.&lt;/P&gt;&lt;P&gt;Any advice appreciated.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Regards&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-337660"&gt;ConfigScreens.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Nov 2016 10:38:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/CAN-Rx-Interrupt-is-not-generated/m-p/644675#M39110</guid>
      <dc:creator>georgipetrov</dc:creator>
      <dc:date>2016-11-09T10:38:58Z</dc:date>
    </item>
    <item>
      <title>Re: CAN Rx Interrupt is not generated</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/CAN-Rx-Interrupt-is-not-generated/m-p/644676#M39111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Georgi,&lt;/P&gt;&lt;P&gt;Frankly speaking, I do not know your question clearly, it seems that you ask why the CAN receiver can not receive the frame it transmits itself. From CAN theory, when CAN&amp;nbsp; node transmits a frame, because the CAN is a bus-type bus, the CAN_Rx pin will get the signals it transmitted from CAN transceiver, but CAN module is smart enough to not receive the frame it transmits itself.&lt;/P&gt;&lt;P&gt;How about using two processor and have another processor send a frame to Kinetis via CAN transceiver with different ID and check if the Kinetis can receive the frame or not?&lt;/P&gt;&lt;P&gt;I am sorry if I misunderstand you.&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Xiangjun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Nov 2016 07:42:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/CAN-Rx-Interrupt-is-not-generated/m-p/644676#M39111</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2016-11-11T07:42:29Z</dc:date>
    </item>
    <item>
      <title>Re: CAN Rx Interrupt is not generated</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/CAN-Rx-Interrupt-is-not-generated/m-p/644677#M39112</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Georgi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;we are experiencing exactly the same problem that you are describing. How did you resolve your problem?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR,&lt;/P&gt;&lt;P&gt;Niksa&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Sep 2017 14:47:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/CAN-Rx-Interrupt-is-not-generated/m-p/644677#M39112</guid>
      <dc:creator>niksa</dc:creator>
      <dc:date>2017-09-29T14:47:34Z</dc:date>
    </item>
  </channel>
</rss>

