<?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のトピックGet ALL messages on CAN bus</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Get-ALL-messages-on-CAN-bus/m-p/521986#M4622</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by sposnjak on Fri Mar 27 06:00:13 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi all!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I need to spy on CAN bus. What I did is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Chip_CCAN_Init(LPC_C_CAN0); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Chip_CCAN_EnableTestMode(LPC_C_CAN0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Chip_CCAN_ConfigTestMode(LPC_C_CAN0, CCAN_TEST_SILENT_MODE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Chip_CCAN_SetBitRate(LPC_C_CAN0, 250000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Chip_CCAN_EnableInt(LPC_C_CAN0, (CCAN_CTRL_IE | CCAN_CTRL_SIE | CCAN_CTRL_EIE));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; NVIC_EnableIRQ(C_CAN0_IRQn);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and then in the interrupt I do:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; while ( (can_int = Chip_CCAN_GetIntID(LPC_C_CAN0)) != 0 )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (can_int &amp;amp; CCAN_INT_STATUS)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; can_stat = Chip_CCAN_GetStatus(LPC_C_CAN0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // some stuff...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can see that can_int is set to CCAN_INT_STATUS and can_stat is set to CCAN_STAT_RXOK =&amp;gt; So we have received something, but I do not understand how&amp;nbsp; I can retrieve the message content. I tried with Chip_CCAN_GetMsgObject but messages does not look correct.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there a way to get all received messages without setting ID (with the use of Chip_CCAN_AddReceiveID) for all?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 16:37:08 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T16:37:08Z</dc:date>
    <item>
      <title>Get ALL messages on CAN bus</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Get-ALL-messages-on-CAN-bus/m-p/521986#M4622</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by sposnjak on Fri Mar 27 06:00:13 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi all!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I need to spy on CAN bus. What I did is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Chip_CCAN_Init(LPC_C_CAN0); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Chip_CCAN_EnableTestMode(LPC_C_CAN0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Chip_CCAN_ConfigTestMode(LPC_C_CAN0, CCAN_TEST_SILENT_MODE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Chip_CCAN_SetBitRate(LPC_C_CAN0, 250000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Chip_CCAN_EnableInt(LPC_C_CAN0, (CCAN_CTRL_IE | CCAN_CTRL_SIE | CCAN_CTRL_EIE));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; NVIC_EnableIRQ(C_CAN0_IRQn);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and then in the interrupt I do:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; while ( (can_int = Chip_CCAN_GetIntID(LPC_C_CAN0)) != 0 )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (can_int &amp;amp; CCAN_INT_STATUS)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; can_stat = Chip_CCAN_GetStatus(LPC_C_CAN0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; // some stuff...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can see that can_int is set to CCAN_INT_STATUS and can_stat is set to CCAN_STAT_RXOK =&amp;gt; So we have received something, but I do not understand how&amp;nbsp; I can retrieve the message content. I tried with Chip_CCAN_GetMsgObject but messages does not look correct.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there a way to get all received messages without setting ID (with the use of Chip_CCAN_AddReceiveID) for all?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:37:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Get-ALL-messages-on-CAN-bus/m-p/521986#M4622</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:37:08Z</dc:date>
    </item>
    <item>
      <title>Re: Get ALL messages on CAN bus</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Get-ALL-messages-on-CAN-bus/m-p/521987#M4623</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Fri Mar 27 06:17:51 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Could be useful to give us a hint which chip (and toolchain) you are talking about&amp;nbsp; :) &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:37:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Get-ALL-messages-on-CAN-bus/m-p/521987#M4623</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:37:09Z</dc:date>
    </item>
    <item>
      <title>Re: Get ALL messages on CAN bus</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Get-ALL-messages-on-CAN-bus/m-p/521988#M4624</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by sposnjak on Sat Mar 28 00:40:39 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Chip is LPC4337 with LPCOpen 2.16 and LPCxpresso 7.6.2.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:37:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Get-ALL-messages-on-CAN-bus/m-p/521988#M4624</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:37:10Z</dc:date>
    </item>
    <item>
      <title>Re: Get ALL messages on CAN bus</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Get-ALL-messages-on-CAN-bus/m-p/521989#M4625</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by sposnjak on Wed Apr 01 01:43:09 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;OK.. I managed to do it! Your friend is test with basic mode. So for posterity:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do the init:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Chip_CCAN_Init(LPC_C_CAN0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Chip_CCAN_EnableTestMode(LPC_C_CAN0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Chip_CCAN_ConfigTestMode(LPC_C_CAN0, (CCAN_TEST_SILENT_MODE | CCAN_TEST_BASIC_MODE));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Chip_CCAN_SetBitRate(LPC_C_CAN0, 250000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Chip_CCAN_EnableInt(LPC_C_CAN0, (CCAN_CTRL_IE | CCAN_CTRL_SIE | CCAN_CTRL_EIE));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(C_CAN0_IRQn);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In interrupt:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;while (0 != (int_reg = LPC_C_CAN0-&amp;gt;INT))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if ((CCAN_INT_STATUS == int_reg) &amp;amp;&amp;amp; (CCAN_STAT_RXOK &amp;amp; LPC_C_CAN0-&amp;gt;STAT))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CCAN_MSG_OBJ_T can_msg;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;can_msg.id = (uint32_t) (LPC_C_CAN0-&amp;gt;IF[1].ARB1 |&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; LPC_C_CAN0-&amp;gt;IF[1].ARB2 &amp;lt;&amp;lt; 16);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if (can_msg.id &amp;amp; (0x1 &amp;lt;&amp;lt; 30))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;can_msg.id &amp;amp;= CCAN_MSG_ID_EXT_MASK;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;can_msg.id &amp;gt;&amp;gt;= 18;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;can_msg.id &amp;amp;= CCAN_MSG_ID_STD_MASK;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;can_msg.dlc = (uint8_t) (LPC_C_CAN0-&amp;gt;IF[1].MCTRL &amp;amp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&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; CCAN_IF_MCTRL_DLC_MSK);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;*((uint16_t *)&amp;amp;can_msg.data[0]) = (uint16_t) (LPC_C_CAN0-&amp;gt;IF[1].DA1 &amp;amp; 0x0000FFFF);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*((uint16_t *)&amp;amp;can_msg.data[2]) = (uint16_t) (LPC_C_CAN0-&amp;gt;IF[1].DA2 &amp;amp; 0x0000FFFF);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*((uint16_t *)&amp;amp;can_msg.data[4]) = (uint16_t) (LPC_C_CAN0-&amp;gt;IF[1].DB1 &amp;amp; 0x0000FFFF);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*((uint16_t *)&amp;amp;can_msg.data[6]) = (uint16_t) (LPC_C_CAN0-&amp;gt;IF[1].DB2 &amp;amp; 0x0000FFFF);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;process_can_msg(&amp;amp;can_msg);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_C_CAN0-&amp;gt;STAT = LPC_C_CAN0-&amp;gt;STAT &amp;amp; (~CCAN_STAT_RXOK);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 16:37:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Get-ALL-messages-on-CAN-bus/m-p/521989#M4625</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T16:37:10Z</dc:date>
    </item>
  </channel>
</rss>

