<?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のトピックLPC4357 CAN cannot receive</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4357-CAN-cannot-receive/m-p/848946#M33775</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone, I use LPC4357, CAN function, I send a data to the board through the PC, after the board receives, reply, the PC sends (&lt;SPAN&gt;Chip_CCAN_Send(LPC_C_CAN0, CCAN_MSG_IF1, false, &amp;amp;msg_buf);&lt;/SPAN&gt;)the same data again, at this time CAN can only enter the RXOK state of the interrupt, cannot enter the msg interrupt again .Or &amp;nbsp;the board sends the data once, the board can only enter the receiving RXOK state interrupt, but can not enter the msg interrupt.,Have some people encountered this similar problem?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void CAN0_IRQHandler(void)&lt;BR /&gt;{&lt;BR /&gt; CCAN_MSG_OBJ_T msg_buf;&lt;BR /&gt; uint32_t can_int, can_stat, i;&lt;BR /&gt; while ( (can_int = Chip_CCAN_GetIntID(LPC_C_CAN0)) != 0 ) {&lt;BR /&gt; if (can_int &amp;amp; CCAN_INT_STATUS) {&lt;BR /&gt; can_stat = Chip_CCAN_GetStatus(LPC_C_CAN0);&lt;BR /&gt; // TODO with error or TXOK, RXOK&lt;BR /&gt; if (can_stat &amp;amp; CCAN_STAT_EPASS) {&lt;BR /&gt; DEBUGOUT("Passive error\r\n");&lt;BR /&gt; return;&lt;BR /&gt; }&lt;BR /&gt; if (can_stat &amp;amp; CCAN_STAT_EWARN) {&lt;BR /&gt; DEBUGOUT("Warning!!!\r\n");&lt;BR /&gt; return;&lt;BR /&gt; }&lt;BR /&gt; if (can_stat &amp;amp; CCAN_STAT_BOFF) {&lt;BR /&gt; DEBUGOUT("CAN bus is off\r\n");&lt;BR /&gt; return;&lt;BR /&gt; }&lt;BR /&gt; Chip_CCAN_ClearStatus(LPC_C_CAN0, CCAN_STAT_TXOK);&lt;BR /&gt; Chip_CCAN_ClearStatus(LPC_C_CAN0, CCAN_STAT_RXOK);&lt;BR /&gt; }&lt;BR /&gt; else if ((1 &amp;lt;= CCAN_INT_MSG_NUM(can_int)) &amp;amp;&amp;amp; (CCAN_INT_MSG_NUM(can_int) &amp;lt;= 0x20)) {&lt;BR /&gt; // Process msg num canint&lt;BR /&gt; Chip_CCAN_GetMsgObject(LPC_C_CAN0, CCAN_MSG_IF1, can_int, &amp;amp;msg_buf);&lt;BR /&gt; switch (msg_buf.id) {&lt;BR /&gt; case CCAN_RX_MSG_ID:&lt;BR /&gt; DEBUGOUT("Msg ID :%x\r\n", msg_buf.id);&lt;BR /&gt; DEBUGOUT("Msg data :");&lt;BR /&gt; for (i = 0; i &amp;lt; msg_buf.dlc; i++) {&lt;BR /&gt; DEBUGOUT("%x ", msg_buf.data[i]);&lt;BR /&gt; }&lt;BR /&gt; DEBUGOUT("\r\nFeed back...\r\n");&lt;BR /&gt; msg_buf.id += 1;&lt;BR /&gt; Chip_CCAN_Send(LPC_C_CAN0, CCAN_MSG_IF1, false, &amp;amp;msg_buf);&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;case CCAN_TX_MSG_ID:&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;case CCAN_TX_MSG_REMOTE_ID:&lt;BR /&gt; msg_received_counter++;&lt;BR /&gt; if (msg_received_counter == 5) {&lt;BR /&gt; DEBUGOUT("Remote transmit total is 5. Delete remote ID\r\n");&lt;BR /&gt; Chip_CCAN_DeleteReceiveID(LPC_C_CAN0, CCAN_MSG_IF1, CCAN_TX_MSG_REMOTE_ID);&lt;BR /&gt; }&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;default:&lt;BR /&gt; break;&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 25 Jul 2018 07:32:22 GMT</pubDate>
    <dc:creator>hyd007</dc:creator>
    <dc:date>2018-07-25T07:32:22Z</dc:date>
    <item>
      <title>LPC4357 CAN cannot receive</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4357-CAN-cannot-receive/m-p/848946#M33775</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone, I use LPC4357, CAN function, I send a data to the board through the PC, after the board receives, reply, the PC sends (&lt;SPAN&gt;Chip_CCAN_Send(LPC_C_CAN0, CCAN_MSG_IF1, false, &amp;amp;msg_buf);&lt;/SPAN&gt;)the same data again, at this time CAN can only enter the RXOK state of the interrupt, cannot enter the msg interrupt again .Or &amp;nbsp;the board sends the data once, the board can only enter the receiving RXOK state interrupt, but can not enter the msg interrupt.,Have some people encountered this similar problem?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void CAN0_IRQHandler(void)&lt;BR /&gt;{&lt;BR /&gt; CCAN_MSG_OBJ_T msg_buf;&lt;BR /&gt; uint32_t can_int, can_stat, i;&lt;BR /&gt; while ( (can_int = Chip_CCAN_GetIntID(LPC_C_CAN0)) != 0 ) {&lt;BR /&gt; if (can_int &amp;amp; CCAN_INT_STATUS) {&lt;BR /&gt; can_stat = Chip_CCAN_GetStatus(LPC_C_CAN0);&lt;BR /&gt; // TODO with error or TXOK, RXOK&lt;BR /&gt; if (can_stat &amp;amp; CCAN_STAT_EPASS) {&lt;BR /&gt; DEBUGOUT("Passive error\r\n");&lt;BR /&gt; return;&lt;BR /&gt; }&lt;BR /&gt; if (can_stat &amp;amp; CCAN_STAT_EWARN) {&lt;BR /&gt; DEBUGOUT("Warning!!!\r\n");&lt;BR /&gt; return;&lt;BR /&gt; }&lt;BR /&gt; if (can_stat &amp;amp; CCAN_STAT_BOFF) {&lt;BR /&gt; DEBUGOUT("CAN bus is off\r\n");&lt;BR /&gt; return;&lt;BR /&gt; }&lt;BR /&gt; Chip_CCAN_ClearStatus(LPC_C_CAN0, CCAN_STAT_TXOK);&lt;BR /&gt; Chip_CCAN_ClearStatus(LPC_C_CAN0, CCAN_STAT_RXOK);&lt;BR /&gt; }&lt;BR /&gt; else if ((1 &amp;lt;= CCAN_INT_MSG_NUM(can_int)) &amp;amp;&amp;amp; (CCAN_INT_MSG_NUM(can_int) &amp;lt;= 0x20)) {&lt;BR /&gt; // Process msg num canint&lt;BR /&gt; Chip_CCAN_GetMsgObject(LPC_C_CAN0, CCAN_MSG_IF1, can_int, &amp;amp;msg_buf);&lt;BR /&gt; switch (msg_buf.id) {&lt;BR /&gt; case CCAN_RX_MSG_ID:&lt;BR /&gt; DEBUGOUT("Msg ID :%x\r\n", msg_buf.id);&lt;BR /&gt; DEBUGOUT("Msg data :");&lt;BR /&gt; for (i = 0; i &amp;lt; msg_buf.dlc; i++) {&lt;BR /&gt; DEBUGOUT("%x ", msg_buf.data[i]);&lt;BR /&gt; }&lt;BR /&gt; DEBUGOUT("\r\nFeed back...\r\n");&lt;BR /&gt; msg_buf.id += 1;&lt;BR /&gt; Chip_CCAN_Send(LPC_C_CAN0, CCAN_MSG_IF1, false, &amp;amp;msg_buf);&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;case CCAN_TX_MSG_ID:&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;case CCAN_TX_MSG_REMOTE_ID:&lt;BR /&gt; msg_received_counter++;&lt;BR /&gt; if (msg_received_counter == 5) {&lt;BR /&gt; DEBUGOUT("Remote transmit total is 5. Delete remote ID\r\n");&lt;BR /&gt; Chip_CCAN_DeleteReceiveID(LPC_C_CAN0, CCAN_MSG_IF1, CCAN_TX_MSG_REMOTE_ID);&lt;BR /&gt; }&lt;BR /&gt; break;&lt;/P&gt;&lt;P&gt;default:&lt;BR /&gt; break;&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jul 2018 07:32:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4357-CAN-cannot-receive/m-p/848946#M33775</guid>
      <dc:creator>hyd007</dc:creator>
      <dc:date>2018-07-25T07:32:22Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4357 CAN cannot receive</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4357-CAN-cannot-receive/m-p/848947#M33776</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;BR /&gt;Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.&lt;BR /&gt;Actually, I'm not very clear with your question, and I see you use periph_ccan demo which is from the LPCOpen library for testing, so does your question is that this demo doesn't work as to be expected?&lt;BR /&gt;If yes, I was wondering if you can introduce the testing process you did.&lt;BR /&gt;Have a great day,&lt;BR /&gt;TIC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jul 2018 02:41:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4357-CAN-cannot-receive/m-p/848947#M33776</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2018-07-26T02:41:35Z</dc:date>
    </item>
  </channel>
</rss>

