<?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>LPC MicrocontrollersのトピックCAN/CAN-FD Drivers LPC5461X Devices</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/CAN-CAN-FD-Drivers-LPC5461X-Devices/m-p/908474#M36400</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does anyone know the status of the CAN/CAN-FD drivers (see Software Section of &lt;A href="https://www.nxp.com/design/microcontrollers-developer-resources/lpcxpresso-boards/lpcxpresso54618-can-fd-kit:OM13094"&gt;https://www.nxp.com/design/microcontrollers-developer-resources/lpcxpresso-boards/lpcxpresso54618-can-fd-kit:OM13094&lt;/A&gt;).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The driver is documented in "LPC5461x CANFD Driver API.pdf"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this still active?&lt;/P&gt;&lt;P&gt;Has it been replaced by the MCAN driver in MCUXpresso SDK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There appears to be an issue with the &lt;STRONG style="font-family: andale mono, monospace; "&gt;CAN_TransferSendBlocking&lt;/STRONG&gt; function. Occasionally the function does not return, waiting for the appropriate bit to be set in the CAN TXBRP register (Tx buffer request pending register), see below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;status_t CAN_TransferSendBlocking(CAN_Type *base, uint8_t mbIdx, can_frame_t *txFrame)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* write the message to the message buffer */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status_t status = CAN_WriteTxMb(base, mbIdx, txFrame);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (status == kStatus_Success)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait for completion */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(base-&amp;gt;TXBRP &amp;amp; (1UL &amp;lt;&amp;lt; mbIdx)));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return status;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Should this blocking loop be looking at the TXBTO (Tx buffer transmission occurred register) instead, e.g&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait for completion */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(base-&amp;gt;TXBTO &amp;amp; (1UL &amp;lt;&amp;lt; mbIdx)));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have used this CAN driver in a couple of projects without any issue, where we are using only one of the CAN modules. The project where the function does not operate uses both available CAN modules, but I don't see why this should be having any effect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone have any information/ideas?&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>Wed, 25 Sep 2019 08:45:21 GMT</pubDate>
    <dc:creator>shauno</dc:creator>
    <dc:date>2019-09-25T08:45:21Z</dc:date>
    <item>
      <title>CAN/CAN-FD Drivers LPC5461X Devices</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/CAN-CAN-FD-Drivers-LPC5461X-Devices/m-p/908474#M36400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does anyone know the status of the CAN/CAN-FD drivers (see Software Section of &lt;A href="https://www.nxp.com/design/microcontrollers-developer-resources/lpcxpresso-boards/lpcxpresso54618-can-fd-kit:OM13094"&gt;https://www.nxp.com/design/microcontrollers-developer-resources/lpcxpresso-boards/lpcxpresso54618-can-fd-kit:OM13094&lt;/A&gt;).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The driver is documented in "LPC5461x CANFD Driver API.pdf"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this still active?&lt;/P&gt;&lt;P&gt;Has it been replaced by the MCAN driver in MCUXpresso SDK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There appears to be an issue with the &lt;STRONG style="font-family: andale mono, monospace; "&gt;CAN_TransferSendBlocking&lt;/STRONG&gt; function. Occasionally the function does not return, waiting for the appropriate bit to be set in the CAN TXBRP register (Tx buffer request pending register), see below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;status_t CAN_TransferSendBlocking(CAN_Type *base, uint8_t mbIdx, can_frame_t *txFrame)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* write the message to the message buffer */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; status_t status = CAN_WriteTxMb(base, mbIdx, txFrame);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (status == kStatus_Success)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait for completion */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(base-&amp;gt;TXBRP &amp;amp; (1UL &amp;lt;&amp;lt; mbIdx)));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return status;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Should this blocking loop be looking at the TXBTO (Tx buffer transmission occurred register) instead, e.g&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait for completion */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(base-&amp;gt;TXBTO &amp;amp; (1UL &amp;lt;&amp;lt; mbIdx)));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have used this CAN driver in a couple of projects without any issue, where we are using only one of the CAN modules. The project where the function does not operate uses both available CAN modules, but I don't see why this should be having any effect.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone have any information/ideas?&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>Wed, 25 Sep 2019 08:45:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/CAN-CAN-FD-Drivers-LPC5461X-Devices/m-p/908474#M36400</guid>
      <dc:creator>shauno</dc:creator>
      <dc:date>2019-09-25T08:45:21Z</dc:date>
    </item>
    <item>
      <title>Re: CAN/CAN-FD Drivers LPC5461X Devices</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/CAN-CAN-FD-Drivers-LPC5461X-Devices/m-p/908475#M36401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A _jive_internal="true" data-content-finding="Community" data-userid="293202" data-username="shaunoldale" href="https://community.nxp.com/people/shaunoldale"&gt;Shaun Oldale&lt;/A&gt;,&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;Should this blocking loop be looking at the TXBTO (Tx buffer transmission occurred register) instead, e.g&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait for completion */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: andale mono, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(base-&amp;gt;TXBTO &amp;amp; (1UL &amp;lt;&amp;lt; mbIdx)));&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;yes, you can have a look at the MCAN driver under SDK:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/91124iAFAEAA2E2B5A55CD/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_4.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/91253i2EAEF3613DC99D94/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_4.png" alt="pastedImage_4.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope it helps,&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Sep 2019 09:03:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/CAN-CAN-FD-Drivers-LPC5461X-Devices/m-p/908475#M36401</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2019-09-26T09:03:48Z</dc:date>
    </item>
    <item>
      <title>Re: CAN/CAN-FD Drivers LPC5461X Devices</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/CAN-CAN-FD-Drivers-LPC5461X-Devices/m-p/908476#M36402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks very much for the reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you also confirm the status of these CAN/CAN-FD drivers?&lt;/P&gt;&lt;P&gt;Are they actively maintained or have they been replaced by the MCAN drivers in the MCUXpresso SDK?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Sep 2019 12:31:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/CAN-CAN-FD-Drivers-LPC5461X-Devices/m-p/908476#M36402</guid>
      <dc:creator>shauno</dc:creator>
      <dc:date>2019-09-26T12:31:47Z</dc:date>
    </item>
  </channel>
</rss>

