<?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 Re: M0_SGPIO_IRQHandler query in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583368#M20831</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Wed Sep 12 00:41:04 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I found that the vector table for the M0 was incorrect (probably outdated), so the SGPIO interrupt ended up in the default handler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After updating it the SGPIO interrupt on the M0 works for me.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:08:58 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:08:58Z</dc:date>
    <item>
      <title>M0_SGPIO_IRQHandler query</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583367#M20830</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by JohnR on Tue Sep 11 14:09:22 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have developed a SGPIO interface on M4 to talk to an SPI-based ADC, using the example in AN11210 cut down to a single interface rather than the original dual. Works fine but I am now trying to get SGPIO working from M0, as I would like to use M0 as the interface, leaving M4 to do the subsequent data processing/display etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So far I have not been able get M0_SGPIO_IRQHandler to respond. I can generate the SPI drive waveform from code in M0 that drives the ADC and I can see the serial data from it, exactly the same as the earlier M4 version. But the handler never gets called?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the M0 main I call NVIC_EnableIRQ(M0_SGPIO_IRQn). Are there any other changes needed?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for any help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;John.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:08:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583367#M20830</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:08:58Z</dc:date>
    </item>
    <item>
      <title>Re: M0_SGPIO_IRQHandler query</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583368#M20831</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Wed Sep 12 00:41:04 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I found that the vector table for the M0 was incorrect (probably outdated), so the SGPIO interrupt ended up in the default handler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After updating it the SGPIO interrupt on the M0 works for me.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:08:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583368#M20831</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:08:58Z</dc:date>
    </item>
    <item>
      <title>Re: M0_SGPIO_IRQHandler query</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583369#M20832</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by JohnR on Wed Sep 12 07:40:06 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What number did you use for NVIC_EnableIRQ() for the M0 interrupt M0_SGPIO_IRQn?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;from LPC43xx.h date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9. December 2011&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;M0_SGPIO_IRQHandler,&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;&amp;nbsp;&amp;nbsp; // 36 Serial GPIO&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From cr_startup_lpc43xx-m0.c&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;M0_SGPIO_IRQn&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp; 19,&amp;nbsp; /*!&amp;lt;&amp;nbsp; 19&amp;nbsp; SGPIO&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have tried both NVIC_EnableIRQ(36)and NVIC_EnableIRQ(19)without success.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;John.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:08:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583369#M20832</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:08:59Z</dc:date>
    </item>
    <item>
      <title>Re: M0_SGPIO_IRQHandler query</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583370#M20833</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Thu Sep 13 01:41:42 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I used the constant M0_SGPIO_IRQn which has the value 19, from the LPC43xx.h in Keil MDK.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is the interrupt id.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The 36 is supposed to be the exception number, but it is incorrect.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The correct exception number is 35 = 19 + 16, so you need to update your vector table&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;in the startup file (startup_LPC43xx_M0.s for me).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;See the chapter on the Cortex M0 NVIC in the user manual.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:09:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583370#M20833</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:09:00Z</dc:date>
    </item>
    <item>
      <title>Re: M0_SGPIO_IRQHandler query</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583371#M20834</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by JohnR on Thu Sep 13 07:11:49 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again for your help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The CodeRed NXP compiler uses a startup file, cr_startup_lpc43xx-m0.c, rather than the Keil's .s file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I thought I could avoid modifying this compiler-generated file by using M0_I2C0_OR_I2C1_IRQHandler, // 35 I2C0 or I2C1, instead of &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;M0_SGPIO_IRQHandler, // 36 Serial GPIO. I have had no success so far using either M0_I2C0_OR_I2C1_IRQn or M0_SGPIO_IRQn as the interrupt ID.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have the SGPIO system working in M0 by running the SGPIO calls from a while(1) loop in the main code, a bit crude but it is a start. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any more ideas as still welcome.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;John.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:09:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583371#M20834</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:09:00Z</dc:date>
    </item>
    <item>
      <title>Re: M0_SGPIO_IRQHandler query</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583372#M20835</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by JohnR on Sat Oct 13 10:48:13 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have now modified the g_pfnVectors list in the M0 startup file to agree with the User Manual. The only difference now between the two is that the exception number 30, PIN_INT4_IRQHandle, was not recognised and has now been replaced by M0_RESERVED2_IRQHandler. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The M0_SGPIO_IRQHandler works fine now. I have not checked the opertion of any of the interrupts with exception numbers above 35 other than M0_SGPIO but I hope they are correct.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks again for your help,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;John.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:09:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/M0-SGPIO-IRQHandler-query/m-p/583372#M20835</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:09:01Z</dc:date>
    </item>
  </channel>
</rss>

