<?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>LPCXpresso IDEのトピックRe: HardFault when receive CAN message!</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558168#M14892</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Tue Dec 06 05:23:28 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I still don't understand why! I don't use CAN2, why I must init it!&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;You are using it in your CAN interrupt :eek: Stepping forward with your debugger can help you to find the critical lines:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
 if ( LPC_CAN2-&amp;gt;GSR &amp;amp; (1 &amp;lt;&amp;lt; 6 ) )
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* The error count includes both TX and RX */
&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN2ErrCount = LPC_CAN2-&amp;gt;GSR &amp;gt;&amp;gt; 16;
&amp;nbsp; }
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;Instead of setting PCONP bit in CAN_Init( LPC_CAN2,...) you can comment this lines out, or use #ifdef...#endif to exclude this part.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using Peripheral registers without setting their PCONP bit can always case a HardFault, so it's always a good idea to check PCONP status of all used Peripherals with your debugger &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;...debugger always suspends at a line...&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;Are there breakpoints left in your 'Breakpoints' View?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also Compiler Optimization can result in funny behaviour :rolleyes:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;See &lt;/SPAN&gt;&lt;A href="http://" rel="nofollow noopener noreferrer" target="_blank"&gt;http://support.code-red-tech.com/CodeRedWiki/CompilerOptimization&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 00:47:45 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T00:47:45Z</dc:date>
    <item>
      <title>HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558157#M14881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by trongtinbk on Sun Dec 04 21:34:29 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I used 2 LPC1769 to communicate.I connected CAN1 of 2 LPC1769 through 2 CAN tranceiver(TI SN65HVD251 IC CAN RXTX 5V). After receive only one message from LPC1769 no1, LPC1769 no2 jump to HardFault_Handler(void). I checked the ID and data of the first message, everything was ok! After released RX buffer in CAN_ISR_Rx1 function it jump to HardFault_Handler function.(I use CAN baudrate 125K).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please help me!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558157#M14881</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:38Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558158#M14882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Dec 05 02:47:35 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Could be helpful if you post your code or tell us which sample you have used :rolleyes:&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558158#M14882</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:39Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558159#M14883</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by trongtinbk on Mon Dec 05 04:26:09 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;[ATTACH]611[/ATTACH]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ATTACH]612[/ATTACH]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ATTACH]613[/ATTACH]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's my projects. I use CMSIS2.00 but in inc folder 1 add another file: type.h&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My MASTER will send some message, my SLAVE receive and store data( use CANCheck function in CAN_ISR_Rx1 function)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558159#M14883</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:40Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558160#M14884</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Dec 05 05:02:16 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;What's that :eek:&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt; CAN1RxDone = TRUE;&lt;BR /&gt; CANCheck();&lt;BR /&gt; LPC_CAN1-&amp;gt;CMR = 0x01 &amp;lt;&amp;lt; 2; /* release receive buffer */&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;#1 This Keil samples use CANxRxDone flags to keep this ISRs short and do the work outside in main loop.[INDENT]So use a simple&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
if(f_CAN1Rx == TRUE)
 {
&amp;nbsp; f_CAN1Rx = FALSE;
&amp;nbsp; ...do whatever you want here...&amp;nbsp;&amp;nbsp;&amp;nbsp; 
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;in your main loop...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[/INDENT]#2 I would suggest to use CAN_SetACCF(ACCF_BYPASS) instead CAN_SetAFLUT() to avoid problems.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558160#M14884</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:40Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558161#M14885</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by trongtinbk on Mon Dec 05 07:21:41 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I changed my main_slave.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;while(1){&lt;BR /&gt;if(CAN2RxDone==TRUE){&lt;BR /&gt;CAN2RxDone=FALSE;&lt;BR /&gt;CANCheck();&lt;BR /&gt;}&lt;BR /&gt;}&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And I used CAN_SetACCF( ACCF_BYPASS ) instead of CAN_SetAFLUT() but everything still the same :(&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558161#M14885</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:41Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558162#M14886</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Dec 05 07:42:31 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;#1 Are you working with LPCXpresso?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#2 I'm not very familiar with this sample, so is there a special reason why you use this sample and don't use a 1769 CAN sample?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#3 To find problems, there are options like 'local self test' and 'self reception' which can be used to control receiving and transmitting. Did you try to use them already?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558162#M14886</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:42Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558163#M14887</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by trongtinbk on Mon Dec 05 08:32:08 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I use LPCXpresso v4.05. I try CAN example in "MCB1700 Sample Code Bundle for LPC1769 Peripherals using LPCXpresso". It's so simple and works well with CAN1 and CAN2 in 1 MCU. I tested this example and everything ok! But when I use 2 MCU everything went wrong!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558163#M14887</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:42Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558164#M14888</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Dec 05 10:22:18 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Init CAN1&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
 CAN_Init( LPC_CAN1,BITRATE125K30MHZ );
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;and reading CAN2 will not work :confused:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
 if(CAN2RxDone==TRUE)
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; CAN2RxDone=FALSE;
&amp;nbsp;&amp;nbsp; CANCheck();
&amp;nbsp; }
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558164#M14888</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:43Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558165#M14889</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by trongtinbk on Mon Dec 05 10:56:49 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Oh sorry! That's my fault. But when replace CAN2RxDone with CAN1RXDone, it still not working. I use LPC-Link to debug, set some breakpoints then I realized that SLAVE jump to CAN_ISR_Rx1 only one time (when receives the first message). And jump to HardFault_IRQHandler right affter that, instead of go to main loop anh clear CAN1RxDone.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you know what it mean?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558165#M14889</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:43Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558166#M14890</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Dec 05 11:20:52 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;#1 Init CAN2 :rolleyes:&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#2 Use your debugger to step until the hard fault appears :eek:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I suspect your problems are the result of reading CAN2 registers in CAN interrupt without enabling its PCONP bit :eek:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;See user manual: 4.8.9 Power Control for Peripherals register (PCONP - 0x400F C0C4)&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Important: valid read from a peripheral register and valid write to a peripheral&lt;BR /&gt;register is possible only if that peripheral is enabled in the PCONP register!&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558166#M14890</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:44Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558167#M14891</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by trongtinbk on Tue Dec 06 03:13:52 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;OMG! After init CAN2, it didn't jump to HardFault anymore :). I still don't understand why! I don't use CAN2, why I must init it! I try 3 different LPC1769 and this error always happens.:confused:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I still a small problem! When I debug, debugger always suspends at a line in main.c of 1769SLAVE project although I didn't create any breakpoint.I hadn't sent any CAN messages before so CAN1RxDone can't equal TRUE.:eek:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(CAN1RxDone == TRUE)&amp;nbsp;&amp;nbsp;&amp;nbsp; // debugger suspended here&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CAN1RxDone = FALSE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CANCheck();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;return 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank for your help!:)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558167#M14891</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:44Z</dc:date>
    </item>
    <item>
      <title>Re: HardFault when receive CAN message!</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558168#M14892</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Tue Dec 06 05:23:28 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I still don't understand why! I don't use CAN2, why I must init it!&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;You are using it in your CAN interrupt :eek: Stepping forward with your debugger can help you to find the critical lines:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
 if ( LPC_CAN2-&amp;gt;GSR &amp;amp; (1 &amp;lt;&amp;lt; 6 ) )
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* The error count includes both TX and RX */
&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN2ErrCount = LPC_CAN2-&amp;gt;GSR &amp;gt;&amp;gt; 16;
&amp;nbsp; }
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;Instead of setting PCONP bit in CAN_Init( LPC_CAN2,...) you can comment this lines out, or use #ifdef...#endif to exclude this part.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Using Peripheral registers without setting their PCONP bit can always case a HardFault, so it's always a good idea to check PCONP status of all used Peripherals with your debugger &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;...debugger always suspends at a line...&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;Are there breakpoints left in your 'Breakpoints' View?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Also Compiler Optimization can result in funny behaviour :rolleyes:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;See &lt;/SPAN&gt;&lt;A href="http://" rel="nofollow noopener noreferrer" target="_blank"&gt;http://support.code-red-tech.com/CodeRedWiki/CompilerOptimization&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:47:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/HardFault-when-receive-CAN-message/m-p/558168#M14892</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:47:45Z</dc:date>
    </item>
  </channel>
</rss>

