<?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のトピックRe: LPCOpen LPC1114 IOConfig question</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-LPC1114-IOConfig-question/m-p/544845#M12947</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ccrbs on Sat Jan 04 21:21:07 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;It look like to 32bits alian, is it right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef struct {/*!&amp;lt; LPC11XX/LPC11XXLV/LPC11UXX IOCON Structure */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__IO uint32_t&amp;nbsp; REG[48];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} LPC_IOCON_T;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another question: if I change the chip define in sys_config.h as following, is it to generate a lib for LPC1114? Or do I need to change other files for LPC1114?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Build for 11Uxx chip family */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//#define CHIP_LPC11UXX&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Build for 11xx chip family */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define CHIP_LPC11XXLV&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:45:42 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:45:42Z</dc:date>
    <item>
      <title>LPCOpen LPC1114 IOConfig question</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-LPC1114-IOConfig-question/m-p/544844#M12946</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ccrbs on Sat Jan 04 17:47:12 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I used LPCopen v1.03 for LPC11U14. It is OK for my board on KEIL MDK 4.7. Recently I changed to LPC1114 and study the LPCopen file on iocon_11XX.h. I found that the LPC_IOCON_T for LPC11XX define offset addr shifted 2 bits. Compared the LPC1114 Manual, offset addr number is correct, why shifte right 2 bits? Please advise the reason. Many thanks.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Robert&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;here is the define in iocon_11XX.h&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#if defined(CHIP_LPC11UXX) || defined(CHIP_LPC11EXX) || defined(CHIP_LPC11AXX)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef struct {/*!&amp;lt; LPC11AXX/LPC11UXX/LPC11EXX IOCON Structure */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__IO uint32_t&amp;nbsp; PIO0[24];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__IO uint32_t&amp;nbsp; PIO1[32];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} LPC_IOCON_T;&lt;/SPAN&gt;&lt;BR /&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; * @brief LPC11XX I/O Configuration register offset&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef enum CHIP_IOCON_PIO {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_0 = (0x00C &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_1 = (0x010 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_2 = (0x01C &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_3 = (0x02C &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_4 = (0x030 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_5 = (0x034 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_6 = (0x04C &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_7 = (0x050 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_8 = (0x060 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_9 = (0x064 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO0_11 = (0x074 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_0 = (0x078 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_1 = (0x07C &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_2 = (0x080 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_3 = (0x090 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_4 = (0x094 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_5 = (0x0A0 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_6 = (0x0A4 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_7 = (0x0A8 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_8 = (0x014 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_9 = (0x038 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_10 = (0x06C &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO1_11 = (0x098 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_0 = (0x008 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_1 = (0x028 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_2 = (0x05C &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_3 = (0x08C &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_4 = (0x040 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_5 = (0x044 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_6 = (0x000 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_7 = (0x020 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_8 = (0x024 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_9 = (0x054 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_10 = (0x058 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO2_11 = (0x070 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO3_0 = (0x084 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO3_1 = (0x088 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO3_2 = (0x09C &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO3_3 = (0x0AC &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO3_4 = (0x03C &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;IOCON_PIO3_5 = (0x048 &amp;gt;&amp;gt; 2),&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} CHIP_IOCON_PIO_T;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:45:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-LPC1114-IOConfig-question/m-p/544844#M12946</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:45:42Z</dc:date>
    </item>
    <item>
      <title>Re: LPCOpen LPC1114 IOConfig question</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-LPC1114-IOConfig-question/m-p/544845#M12947</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by ccrbs on Sat Jan 04 21:21:07 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;It look like to 32bits alian, is it right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;typedef struct {/*!&amp;lt; LPC11XX/LPC11XXLV/LPC11UXX IOCON Structure */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__IO uint32_t&amp;nbsp; REG[48];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} LPC_IOCON_T;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another question: if I change the chip define in sys_config.h as following, is it to generate a lib for LPC1114? Or do I need to change other files for LPC1114?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Build for 11Uxx chip family */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//#define CHIP_LPC11UXX&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Build for 11xx chip family */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define CHIP_LPC11XXLV&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:45:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-LPC1114-IOConfig-question/m-p/544845#M12947</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:45:42Z</dc:date>
    </item>
    <item>
      <title>Re: LPCOpen LPC1114 IOConfig question</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-LPC1114-IOConfig-question/m-p/544846#M12948</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MarcVonWindscooting on Wed Jan 08 16:39:51 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I never used LPCOpen.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It appears to me as if the shift right by two corresponds with the basic type in the struct (4-byte size).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So if the enums are used for indexing REG, then the resulting offset is exactly the number left to the shift operator.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Honestly, I don't understand why everybody except me seems to like such headers. |( &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I attached one file of my lpc800 lib. The offsets therein are more obvious IMHO.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I prefer writing things like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;GPIO.set0 = 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;instead of cryptic bullsh!t like&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;GPIO-&amp;gt;SO_MEANINGLESS [ GPIO_SET0 ] = 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Sorry.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:45:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPCOpen-LPC1114-IOConfig-question/m-p/544846#M12948</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:45:43Z</dc:date>
    </item>
  </channel>
</rss>

