<?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: LPC1788 - TFT Image is Teared. Checked all timings. Help please. in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843057#M33557</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;BR /&gt;According to the AS4C8M16SA's datasheet, it's a 16-bit wide memory whose row and column length is 12 and 9 respectively.&lt;BR /&gt;So in my opinion, it should be configured as the following figure shows.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/67688i9B48924CE1847022/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&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;-----------------------------------------------------------------------------------------------------------------------&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>Wed, 31 Oct 2018 02:55:36 GMT</pubDate>
    <dc:creator>jeremyzhou</dc:creator>
    <dc:date>2018-10-31T02:55:36Z</dc:date>
    <item>
      <title>LPC1788 - TFT Image is Teared. Checked all timings. Help please.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843054#M33554</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp; Hello everyone.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; I am banging my head with this for weeks now. I have a custom board, that sports a LPC1788 208 pin +&amp;nbsp;AS4C8M16SA Alliance Memory&amp;nbsp;128M - 8M x 16 bit Synchronous DRAM + an TFT&amp;nbsp;RFC570Y-6IW-DNN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; One by one - I started with the memory. runs at 60 MhZ clock, checked all timings with an oscilloscope, checked the integrity with a simple code - writing and reading back from memory. All is fine.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I am using a simple routine with the LCD. Nothing fancy. No emwin. I simply want to display a slideshow of BMPs on it. But until then I want to draw a simple line. It's tearing the image in half. I will attach some pictures. I GUESS is a timing issue, but I cannot figure out what's the problem. Checked vsync / hsync with an oscilloscope (on the trace) - and looks fine. Checked the TFT clock - 6.3 MhZ looks fine. I checked every single trace with a multimeter under a microscope ... all fine. Checked the voltages, took care of screen orientation registers (mentioned in the datasheet) ... still cannot have a clear picture. I don't know what to do next really ...&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; This is the datasheet for the TFT...&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &lt;A class="jivelink1" href="https://www.tme.eu/en/Document/aa5324e3d006c80d8ca67e400949ee5c/RFC570Y-6IW-DNN.pdf" title="https://www.tme.eu/en/Document/aa5324e3d006c80d8ca67e400949ee5c/RFC570Y-6IW-DNN.pdf"&gt;https://www.tme.eu/en/Document/aa5324e3d006c80d8ca67e400949ee5c/RFC570Y-6IW-DNN.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;I don't understand the timing graphs , I used the values from the table at page 14.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;The simple code that works somehow is here:&lt;/P&gt;&lt;DIV&gt;#include "LCD/lpc177x_8x_lcd.h"&lt;BR /&gt;#include "EX_SDRAM/EX_SDRAM.H"&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;#define C_GLCD_CLK_PER_LINE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (C_GLCD_H_SIZE + C_GLCD_H_PULSE + C_GLCD_H_FRONT_PORCH + C_GLCD_H_BACK_PORCH)&lt;BR /&gt;#define C_GLCD_LINES_PER_FRAME&amp;nbsp; (C_GLCD_V_SIZE + C_GLCD_V_PULSE + C_GLCD_V_FRONT_PORCH + C_GLCD_V_BACK_PORCH)&lt;BR /&gt;#define C_GLCD_PIX_CLK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (C_GLCD_CLK_PER_LINE * C_GLCD_LINES_PER_FRAME * C_GLCD_REFRESH_FREQ)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//************************************************************************&lt;BR /&gt;void GLCD_Ctrl (Bool bEna)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;volatile uint32_t i;&lt;BR /&gt;&amp;nbsp; if (bEna)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_LCD-&amp;gt;CTRL |= (1&amp;lt;&amp;lt;0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i = C_GLCD_PWR_ENA_DIS_DLY; i; i--)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_LCD-&amp;gt;CTRL |= (1&amp;lt;&amp;lt;11);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_LCD-&amp;gt;CTRL &amp;amp;= ~(1&amp;lt;&amp;lt;11);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i = C_GLCD_PWR_ENA_DIS_DLY; i; i--);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_LCD-&amp;gt;CTRL &amp;amp;= ~(1&amp;lt;&amp;lt;0);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//*************************************************************************/&lt;/DIV&gt;&lt;DIV&gt;void GLCD_Init (const unsigned long *pPain, const unsigned long * pPallete)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;unsigned long i,j;&lt;BR /&gt;&amp;nbsp;unsigned long *pDst = (unsigned long *)LCD_VRAM_BASE_ADDR;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; /* R */&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P0_4&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_0&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P0_5&amp;nbsp;&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_1&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_28&amp;nbsp;&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_2&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P4_29&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_3&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_6&amp;nbsp;&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_4&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_7&amp;nbsp;&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_5&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_8&amp;nbsp;&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_6&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_9&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_7&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; /* G */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P0_6&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_8&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P0_7&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_9&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P1_20&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_10&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P1_21&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_11&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P1_22&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_12&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P1_23&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_13&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P1_24&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_14&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P1_25&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_15&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;/* B */&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P0_8&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_16&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P0_9&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_17&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_12&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_18&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_13&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_19&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P1_26&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_20&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P1_27&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_21&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P1_28&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_22&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P1_29&amp;nbsp; = 0x27;&amp;nbsp; // LCD_VD_23&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_2&amp;nbsp;&amp;nbsp; = 0x27;&amp;nbsp; // LCD_DCLK&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_5&amp;nbsp;&amp;nbsp; = 0x27;&amp;nbsp; // LCD_LP -- HSYNC&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_3&amp;nbsp;&amp;nbsp; = 0x27;&amp;nbsp; // LCD_FP -- VSYNC&lt;BR /&gt;&amp;nbsp; LPC_IOCON-&amp;gt;P2_4&amp;nbsp;&amp;nbsp; = 0x27;&amp;nbsp; // LCD_ENAB_M -- LCDDEN&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//Turn on LCD clock&lt;BR /&gt;&amp;nbsp;LPC_SC-&amp;gt;PCONP |= 1&amp;lt;&amp;lt;0;&lt;BR /&gt;&amp;nbsp; // Disable cursor&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;CRSR_CTRL &amp;amp;=~(1&amp;lt;&amp;lt;0);&lt;BR /&gt;&amp;nbsp;// disable GLCD controller&amp;nbsp;&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;CTRL = 0;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;CTRL &amp;amp;= ~(0x07 &amp;lt;&amp;lt;1);&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;CTRL |= (5&amp;lt;&amp;lt;1);&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;// TFT panel&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;CTRL |= (1&amp;lt;&amp;lt;5);&lt;BR /&gt;&amp;nbsp;// single panel&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;CTRL &amp;amp;= ~(1&amp;lt;&amp;lt;7);&lt;BR /&gt;&amp;nbsp;// notmal output&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;CTRL |= (1&amp;lt;&amp;lt;8);&lt;BR /&gt;&amp;nbsp;// little endian byte order&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;CTRL &amp;amp;= ~(1&amp;lt;&amp;lt;9);&lt;BR /&gt;&amp;nbsp;// little endian pix order&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;CTRL &amp;amp;= ~(1&amp;lt;&amp;lt;10);&lt;BR /&gt;&amp;nbsp;// disable power&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;CTRL &amp;amp;= ~(1&amp;lt;&amp;lt;11);&lt;BR /&gt;&amp;nbsp;// init pixel clock&lt;BR /&gt;&amp;nbsp;LPC_SC-&amp;gt;LCD_CFG = PeripheralClock / ((unsigned long) C_GLCD_PIX_CLK);&lt;BR /&gt;&amp;nbsp;// bypass inrenal clk divider&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;POL |=(1&amp;lt;&amp;lt;26);&lt;BR /&gt;&amp;nbsp;// clock source for the LCD block is HCLK&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;POL &amp;amp;= ~(1&amp;lt;&amp;lt;5);&lt;BR /&gt;&amp;nbsp;// LCDFP pin is active LOW and inactive HIGH&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;POL |= (1&amp;lt;&amp;lt;11);&lt;BR /&gt;&amp;nbsp;// LCDLP pin is active LOW and inactive HIGH&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;POL |= (1&amp;lt;&amp;lt;12);&lt;BR /&gt;&amp;nbsp;// data is driven out into the LCD on the falling edge&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;POL &amp;amp;= ~(1&amp;lt;&amp;lt;13);&lt;BR /&gt;&amp;nbsp;// active high&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;POL &amp;amp;= ~(1&amp;lt;&amp;lt;14);&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;POL &amp;amp;= ~(0x3FF &amp;lt;&amp;lt;16);&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;POL |= (C_GLCD_H_SIZE-1)&amp;lt;&amp;lt;16;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;// init Horizontal Timing&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;TIMH = 0; //reset TIMH before set value&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;TIMH |= (C_GLCD_H_BACK_PORCH - 1)&amp;lt;&amp;lt;24;&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;TIMH |= (C_GLCD_H_FRONT_PORCH - 1)&amp;lt;&amp;lt;16;&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;TIMH |= (C_GLCD_H_PULSE - 1)&amp;lt;&amp;lt;8;&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;TIMH |= ((C_GLCD_H_SIZE/16) - 1)&amp;lt;&amp;lt;2;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;// init Vertical Timing&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;TIMV = 0;&amp;nbsp; //reset TIMV value before setting&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;TIMV |= (C_GLCD_V_BACK_PORCH)&amp;lt;&amp;lt;24;&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;TIMV |= (C_GLCD_V_FRONT_PORCH)&amp;lt;&amp;lt;16;&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;TIMV |= (C_GLCD_V_PULSE - 1)&amp;lt;&amp;lt;10;&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;TIMV |= C_GLCD_V_SIZE - 1;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;// Frame Base Address doubleword aligned&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;UPBASE = LCD_VRAM_BASE_ADDR &amp;amp; ~7UL ;&lt;BR /&gt;&amp;nbsp;LPC_LCD-&amp;gt;LPBASE = LCD_VRAM_BASE_ADDR &amp;amp; ~7UL ;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//here I am trying to draw 2 red lines. WORKS but the second line continues to the 3rd part of the screen.&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;for( i = 0; 320*5 &amp;gt; i; i++)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;*pDst++ = 0xFF0000;&lt;BR /&gt;&amp;nbsp;} &lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//here I am trying to draw from line 5 to line 100 - the colour green. Also works - but the last 2 lines are teared.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; for( i = 320*5; 320*100 &amp;gt; i; i++)&lt;BR /&gt;&amp;nbsp;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;//*pDst16++ = purple;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;*pDst++ = 0x00FF00;&lt;BR /&gt;&amp;nbsp;} &amp;nbsp;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;and the .h as follows:&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;#ifndef __LPC177X_8X_LCD_H_&lt;BR /&gt;#define __LPC177X_8X_LCD_H_&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;#include "LPC177x_8x.h"&lt;BR /&gt;#include "lpc_types.h"&lt;BR /&gt;#include "system_LPC177x_8x.h"&lt;/DIV&gt;&lt;DIV&gt;#define LCD_VRAM_BASE_ADDR &amp;nbsp;((unsigned long)SDRAM_BASE + 0x00010000)&lt;BR /&gt;#define LCD_CURSOR_BASE_ADDR &amp;nbsp;((unsigned long)0x20088800)&lt;/DIV&gt;&lt;DIV&gt;#define C_GLCD_REFRESH_FREQ&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (30)&amp;nbsp;// Hz&lt;BR /&gt;#define C_GLCD_H_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 320&lt;BR /&gt;#define C_GLCD_H_PULSE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&amp;nbsp;&lt;BR /&gt;#define C_GLCD_H_FRONT_PORCH&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&lt;BR /&gt;#define C_GLCD_H_BACK_PORCH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 38&amp;nbsp;&lt;BR /&gt;#define C_GLCD_V_SIZE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 240&lt;BR /&gt;#define C_GLCD_V_PULSE &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 3&lt;BR /&gt;#define C_GLCD_V_FRONT_PORCH&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&lt;BR /&gt;#define C_GLCD_V_BACK_PORCH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;#define C_GLCD_PWR_ENA_DIS_DLY&amp;nbsp; 1000&lt;BR /&gt;#define C_GLCD_ENA_DIS_DLY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1000&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;#define TEXT_DEF_TAB_SIZE 5&lt;/DIV&gt;&lt;DIV&gt;#define TEXT_BEL1_FUNC()&lt;/DIV&gt;&lt;DIV&gt;void GLCD_Init (const unsigned long *pPain, const unsigned long * pPallete);&lt;BR /&gt;void GLCD_Ctrl (Bool bEna);&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;#endif&amp;nbsp;&amp;nbsp; /*__LPC177X_8X_LCD_H_*/&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Also checked against&amp;nbsp;UM10470 all the lcd registers, added some , tweaked some ... but made no difference.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Please point me to the right direction.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;In this configuration I am measuring on the trace with an oscilloscope the values:&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; LCD clock - 6.31 MhZ&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; HSync - 15.4 Khz&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp; VSync - 58.8 Hz&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;Thankyou verry much in advance !&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;Popte.&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Oct 2018 18:15:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843054#M33554</guid>
      <dc:creator>poptelecanconst</dc:creator>
      <dc:date>2018-10-27T18:15:19Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 - TFT Image is Teared. Checked all timings. Help please.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843055#M33555</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello again,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; This is a picture with the output on the screen.&lt;/P&gt;&lt;P&gt;&amp;nbsp; I am trying to write "Hello World" just once - but&amp;nbsp; appears twice, 3 times ...&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;All day I checked the lines again. I connected pin 34 (Data Enable) to GND. As mentioned in datasheet at page 8 - "DE signal is fixed low for SYNC mode ".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Now vsync and hsync has an impact (when changed in code). Also pulse moves the image up/down, right / left.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I still have the problem (always did) wit that tearing / double / triple content. I am in progress of troubleshooting the SDRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Please remember I have a single external SDRAM module, NOT 2. I searched everywhere , and seems that 2 x 16 bit modules are needed for LCD , but I would love to make this work as it is.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; After the picture I've attached the source code for SDRAM init. I am sure I will be asked about it ...&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Thankyou again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Popte.&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="IMG_0048.JPG"&gt;&lt;IMG alt="IMG_0048.JPG" src="https://community.nxp.com/t5/image/serverpage/image-id/65772i6D020D3B839C8726/image-size/large?v=v2&amp;amp;px=999" title="IMG_0048.JPG" /&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE class="language-cpp line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="property macro token"&gt;#define EMC_NS2CLK(ns, nsPerClk)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;((ns + nsPerClk - 1) / nsPerClk)&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define tCLK_ns ((double)EMCClock / 1000000000.0 )&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;// CCLK periods in ns&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;volatile&lt;/SPAN&gt; uint32_t ringosccount&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define MDKCFG_RASCAS0VAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00000303&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define MDKCFG_RASCAS1VAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0x00000303&lt;/SPAN&gt;


&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; EMC_GPIO_Init &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// (ok comment - means I checked the line with a multimeter / oscilloscope)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P2_16 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* CASN @ P2.16 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok CAS&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P2_17 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* RASN @ P2.17 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok RAS&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P2_18 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* CLK[0] @ P2.18 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok CLK&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P2_20 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* DYCSN[0] @ P2.20 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok CS&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P2_24 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* CKE[0] @ P2.24 */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P2_28 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* LDQM[0] @ P2.28 */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P2_29 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* UDQM[1] @ P2.29 */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_0 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D0 @ P3.0 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D1 @ P3.1 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D2 @ P3.2 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_3 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D3 @ P3.3 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_4 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D4 @ P3.4 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_5 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D5 @ P3.5 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_6 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D6 @ P3.6 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_7 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D7 @ P3.7 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_8 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D8 @ P3.8 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_9 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D9 @ P3.9 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_10 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D10 @ P3.10 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_11 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D11 @ P3.11 */&lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_12 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D12 @ P3.12 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_13 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D13 @ P3.13 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_14 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D14 @ P3.14 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P3_15 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* D15 @ P3.15 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&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;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_0 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A0 @ P4.0 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A1 @ P4.1 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A2 @ P4.2 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_3 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A3 @ P4.3 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// ok&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_4 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A4 @ P4.4 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_5 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A5 @ P4.5 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_6 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A6 @ P4.6 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_7 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A7 @ P4.7 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok &lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_8 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A8 @ P4.8 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_9 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A9 @ P4.9 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_10 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A10 @ P4.10 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_11 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* A11 @ P4.11 */&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//ok&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; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_12 &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// BA0 //ok&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_13 &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// BA1 //ok &lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;P4_25 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000021&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* WEN @ P4.25 */&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;&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 class="punctuation token"&gt;}&lt;/SPAN&gt;


&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; SDRAM_Init &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t i&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; dwtemp &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; dwtemp&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint16_t wtemp &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; wtemp&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t mhz&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; nsPerClk&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Enable External Memory Controller power/clock */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
LPC_SC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;PCONP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000800&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
LPC_SC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;EMCDLYCTL&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00001010&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//LPC_SC-&amp;gt;EMCCLKSEL=0;&amp;nbsp;&amp;nbsp;&amp;nbsp; //60 MHZ &lt;/SPAN&gt;

LPC_SC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;EMCDLYCTL&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00080808&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;Control&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000001&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;Config&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;EMC_GPIO_Init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mhz &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; SystemCoreClock &lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;


 
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicConfig0&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000480&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* 128B, 8Mx16, row=12, 4 banks,&amp;nbsp; column=9 */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//Timing for 120MHz Bus: 8.333333 ns/clk&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicRasCas0&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000302&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// 3 RAS, 3 CAS latency */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicReadConfig &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000001&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Command delayed strategy, using EMCCLKDELAY */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicRP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000003&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Min 20ns. (n + 1) -&amp;gt; 3 clock cycles&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicRAS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000006&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Min 44 ns.(n + 1) -&amp;gt; 6 clock cycles&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicSREX&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000000A&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Min 75 ns. ( n + 1 ) -&amp;gt; 10 clock cycles */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicAPR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000005&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// ??? ( n + 1 ) -&amp;gt; 2 clock cycles */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicDAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000006&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// tWR + tRP: min 35 ns (n + 1) -&amp;gt; 5 clock cycles */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicWR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000002&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Min 15 ns. ( n + 1 ) -&amp;gt; 2 clock cycles */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicRC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000008&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Min 66 ns. ( n + 1 ) -&amp;gt; 8 clock cycles */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicRFC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000008&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Min 66 ns. ( n + 1 ) -&amp;gt; 8 clock cycles */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicXSR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000000A&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Min 75 ns. ( n + 1 ) -&amp;gt; 10 clock cycles */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicRRD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000002&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Min 15 ns. ( n + 1 ) -&amp;gt; 2 clock cycles */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicMRD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000002&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// 2 tCK. ( n + 1 ) -&amp;gt; 2 clock cycles */&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;i&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;i&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;200000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;i&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000183&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;delayMs&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;100&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000183&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Issue NOP command */&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;delayMs&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;200&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp; 
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000103&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Issue PALL command */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicRefresh&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000002&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* ( n * 16 ) -&amp;gt; 32 clock cycles */&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;i &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; i &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x80&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; i&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* wait 128 AHB clock cycles */&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;//Timing for 120MHz Bus&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicRefresh&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2E&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000083&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Issue MODE command */&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;//Timing for 48/60/72MHZ Bus&lt;/SPAN&gt;
dwtemp &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;volatile&lt;/SPAN&gt; uint32_t &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;SDRAM_BASE &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0x33&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;12&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* 8 burst, 3 CAS latency */&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicControl&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;/* Issue NORMAL command */&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;//[re]enable buffers&lt;/SPAN&gt;
LPC_EMC&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;DynamicConfig0&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00080000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Buffer enable&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//TIM_Waitms(100);&lt;/SPAN&gt;

&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:14:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843055#M33555</guid>
      <dc:creator>poptelecanconst</dc:creator>
      <dc:date>2020-11-02T14:14:54Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 - TFT Image is Teared. Checked all timings. Help please.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843056#M33556</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone !&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; With GREAT JOY I must update you that I FINALLY solved the problem. Took me over 40 hours of study and debug ... for such a simple solution.&lt;/P&gt;&lt;P&gt;&amp;nbsp; As you may guess ... YES dumb me I initialized WRONG the memory address mapping.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;In UM10470 at page 196 (table 134 , address mapping) -&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp; LPC_EMC-&amp;gt;DynamicConfig0&amp;nbsp;&amp;nbsp;&amp;nbsp; = (1 &amp;lt;&amp;lt; 14) |&amp;nbsp; /* AM[14]&amp;nbsp;&amp;nbsp; = 1&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;&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; (1 &amp;lt;&amp;lt; 12) |&amp;nbsp; /* AM[12]&amp;nbsp;&amp;nbsp; = 0&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;&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; (2 &amp;lt;&amp;lt;&amp;nbsp; 9) |&amp;nbsp; /* AM[11:9] = 2&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;&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; (0 &amp;lt;&amp;lt;&amp;nbsp; 7) ;&amp;nbsp; /* AM[8:7]&amp;nbsp; = 1&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 class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THAT is 128Mbit (8Mx16) 4 banks row length =12 column = 10&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it will help someone with the same problem as me. This was a single line of code that took me to a 5 day non-stop trouble-shooting, measuring, testing, trace observation, code debug ....&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THANKYOU everyone so much !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Popte.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Oct 2018 12:18:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843056#M33556</guid>
      <dc:creator>poptelecanconst</dc:creator>
      <dc:date>2018-10-30T12:18:59Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 - TFT Image is Teared. Checked all timings. Help please.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843057#M33557</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;BR /&gt;According to the AS4C8M16SA's datasheet, it's a 16-bit wide memory whose row and column length is 12 and 9 respectively.&lt;BR /&gt;So in my opinion, it should be configured as the following figure shows.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/67688i9B48924CE1847022/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&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;-----------------------------------------------------------------------------------------------------------------------&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>Wed, 31 Oct 2018 02:55:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843057#M33557</guid>
      <dc:creator>jeremyzhou</dc:creator>
      <dc:date>2018-10-31T02:55:36Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 - TFT Image is Teared. Checked all timings. Help please.</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843058#M33558</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jeremy and Many Thanks for Your message.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I got an email (a notification) from NXP community yesterday, on my phone, while I was in the city, that someone added a reply.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I read the reply and HONESTLY I was SCARED to even try anyhing. Just because I was sure that I will break things again (not by changing a line of code, but because I realised you are 100% right in theory, and I was scared it WON'T work). And then ... my nightmare would start again. Re-calculate and re-think the ... timings to figure out WHY.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;OK, this evening I decided ... what the hell. I should try it. And I did. AND YES. WORKS.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes you are 100% correct. Thankyou for your great observation. It would have been produced with my euroneus initialization, and maybe later on something bad would have happened.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now ... so I won't live in ignorance, I will spend this night to try to find out (and understand) WHY it has been working with my init ... I will report back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thankyou verry much.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wish you all the best, and alot of health !&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Popte.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Nov 2018 18:02:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1788-TFT-Image-is-Teared-Checked-all-timings-Help-please/m-p/843058#M33558</guid>
      <dc:creator>poptelecanconst</dc:creator>
      <dc:date>2018-11-01T18:02:40Z</dc:date>
    </item>
  </channel>
</rss>

