<?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: need help understanding this the delay function.</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547171#M9983</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by gbm on Wed Oct 12 12:43:10 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There are so many errors in your code that it's hard to start correcting it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Why don't you start by rewriting the code known to be correct on some other platform?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My advices:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- start by writing a routine for writing 4 bits to LCD; be sure to put some delay required for proper strobe widths&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- decide if you want to check the busy bit or wait a known delay before sending each command/character to the LCD&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- implement the selected sync method - write the "wait until ready" routine&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- use 4-bit writes to initialize the LCD to 4-bit mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- write a routine for writing 8-bit data/comands, using the previously written "wait untli ready" and 4-bit write routine&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 23:24:59 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T23:24:59Z</dc:date>
    <item>
      <title>need help understanding this the delay function.</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547166#M9978</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by black_ghost on Fri Oct 07 23:25:38 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi i am trying to understand this delay function as i want to use to this function for a delay to drive my st7066 16x2 lcd. this would be of great help to me below is code i got from the example file from lpcxpresso site.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void Delay (uint32_t dlyTicks); volatile uint32_t msTicks; // counts 1ms timeTicks //******************************************* // system stick interrupt handler void SysTick_Handler(void) { msTicks++; // increment counter necessary in Delay() } //******************************************* // delays number of tick Systicks (happens every 1 ms) void Delay (uint32_t dlyTicks) { uint32_t curTicks; curTicks = msTicks; while ((msTicks - curTicks) &amp;lt; dlyTicks); }&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:24:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547166#M9978</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:24:56Z</dc:date>
    </item>
    <item>
      <title>Re: need help understanding this the delay function.</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547167#M9979</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 Sat Oct 08 08:03:00 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;So what is the problem with this functions?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTick_Handler is your interrupt handler, which should increment msTicks every ms (if it's configured somewhere :rolleyes:),&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Delay is just waiting until the difference between current and actual ms counter is reached :eek:&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:24:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547167#M9979</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:24:56Z</dc:date>
    </item>
    <item>
      <title>Re: need help understanding this the delay function.</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547168#M9980</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by black_ghost on Sat Oct 08 19:33:41 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;i am tryint to interface a 4 bit lcd to the lpc1769 and having problems plus i am trying to use a delay function and came across systicks from importing one of the example files but still dont get it. i am a newbie to this and sometimes it really gets frustrating.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:24:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547168#M9980</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:24:57Z</dc:date>
    </item>
    <item>
      <title>Re: need help understanding this the delay function.</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547169#M9981</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 Sat Oct 08 19:52:47 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;#1 If you don't provide further Information, nobody can help you :mad:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#2 As mentioned above, SysTick timer has to be configured with something like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
 SysTick_Config(...);
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;#3 Use the debugger to check msTicks &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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:24:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547169#M9981</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:24:58Z</dc:date>
    </item>
    <item>
      <title>Re: need help understanding this the delay function.</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547170#M9982</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by black_ghost on Wed Oct 12 11:42:48 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;below is my code sending commands to the lcd im using an lpc1769 and&amp;nbsp; have no success. i have been working on this for couple of days and its&amp;nbsp; getting frustrating pls i need help on this anyone i would appreciate&amp;nbsp; it. the init sends the initailisation commands. i am trying to dsiplay&amp;nbsp; the message hello just having no success.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define EN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO4-&amp;gt;FIOSET |= (1&amp;lt;&amp;lt;28)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define DIS_EN&amp;nbsp;&amp;nbsp; LPC_GPIO4-&amp;gt;FIOCLR |= (1&amp;lt;&amp;lt;28)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define RS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO3-&amp;gt;FIOSET |= (1&amp;lt;&amp;lt;25)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define DIS_RS&amp;nbsp;&amp;nbsp; LPC_GPIO3-&amp;gt;FIOCLR |= (1&amp;lt;&amp;lt;25)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define RW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO3-&amp;gt;FIOSET |= (1&amp;lt;&amp;lt;26)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define DIS_RW&amp;nbsp;&amp;nbsp; LPC_GPIO3-&amp;gt;FIOCLR |= (1&amp;lt;&amp;lt;26)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define lcd_delay 1000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void lcd_init();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void lcd_initwrite(unsigned char value);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void command(uint8_t value);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void delay(unsigned int i);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void delay(unsigned int i)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned int j =0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (j=0;j&amp;lt;i;j++);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void lcd_init()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay(1800000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcd_initwrite(0x30);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay(600000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcd_initwrite(0x30);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay(24000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcd_initwrite(0x30);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay(24000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcd_initwrite(0x20);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay(600000);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; command(0x01); //clear display&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; command(0x28); // 4bit &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; command(0x06); // entry mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; command(0x0E); // display on &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void lcd_initwrite(unsigned char value)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_RW; // disable rw signal&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_RS; // disable rs signal&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t bit[4];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[0]=(value &amp;amp; 0x10)&amp;gt;&amp;gt;4;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[1]=(value &amp;amp; 0x20)&amp;gt;&amp;gt;5;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[2]=(value &amp;amp; 0x40)&amp;gt;&amp;gt;6;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[3]=(value &amp;amp; 0x80)&amp;gt;&amp;gt;7;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[0] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;20)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 20));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[1] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;19)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 19));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[2] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;18)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 18));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[3] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;21)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 21));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_EN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void command(uint8_t value)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t bit[4];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_RW; //RW is low&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_RS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; bit[0] = (value &amp;amp; 0x10) &amp;gt;&amp;gt; 4;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[1] = (value &amp;amp; 0x20) &amp;gt;&amp;gt; 5;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[2] = (value &amp;amp; 0x40) &amp;gt;&amp;gt; 6;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[3] = (value &amp;amp; 0x80) &amp;gt;&amp;gt; 7;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[0] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;20)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 20));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[1] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;19)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 19));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[2] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;18)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 18));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[3] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;21)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 21));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_EN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[0]=(value &amp;amp; 0x01)&amp;gt;&amp;gt;0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[1]=(value &amp;amp; 0x02)&amp;gt;&amp;gt;1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[2]=(value &amp;amp; 0x04)&amp;gt;&amp;gt;2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[3]=(value &amp;amp; 0x08)&amp;gt;&amp;gt;3;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[0] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;20)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 20));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[1] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;19)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 19));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[2] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;18)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 18));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[3] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;21)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 21));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_EN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void print(uint8_t cmd)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay(4800);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t bit[4];&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_RW;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; bit[0] = (cmd &amp;amp; 0x10) &amp;gt;&amp;gt; 4;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[1] = (cmd &amp;amp; 0x20) &amp;gt;&amp;gt; 5;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[2] = (cmd &amp;amp; 0x40) &amp;gt;&amp;gt; 6;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[3] = (cmd &amp;amp; 0x80) &amp;gt;&amp;gt; 7;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[0] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;20)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 20));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[1] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;19)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 19));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[2] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;18)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 18));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[3] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;21)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 21));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_EN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[0]=(cmd &amp;amp; 0x01)&amp;gt;&amp;gt;0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[1]=(cmd &amp;amp; 0x02)&amp;gt;&amp;gt;1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[2]=(cmd &amp;amp; 0x04)&amp;gt;&amp;gt;2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[3]=(cmd &amp;amp; 0x08)&amp;gt;&amp;gt;3;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[0] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;20)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 20));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[1] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;19)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 19));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[2] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;18)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 18));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bit[3] ? (LPC_GPIO1-&amp;gt;FIOSET = (1&amp;lt;&amp;lt;21)) : (LPC_GPIO1-&amp;gt;FIOCLR = (1 &amp;lt;&amp;lt; 21));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_EN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIS_RS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int main()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_PINCON-&amp;gt;PINSEL3 |= (1&amp;lt;&amp;lt;20) | (1&amp;lt;&amp;lt;19) | (1&amp;lt;&amp;lt;18) |(1&amp;lt;&amp;lt;21); //Data lines D4-D7&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO1-&amp;gt;FIODIR |= (1&amp;lt;&amp;lt;20) |(1&amp;lt;&amp;lt;19) |(1&amp;lt;&amp;lt;18) | (1&amp;lt;&amp;lt;21); //sets the data lines as output.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO1-&amp;gt;FIOCLR |= (1&amp;lt;&amp;lt;20) |(1&amp;lt;&amp;lt;19) | (1&amp;lt;&amp;lt;18) |(1&amp;lt;&amp;lt;21);// clears the output pins&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO4-&amp;gt;FIODIR |= (1&amp;lt;&amp;lt;28);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO3-&amp;gt;FIODIR |= (1&amp;lt;&amp;lt;25) |(1&amp;lt;&amp;lt;26);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; lcd_init();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; int count = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; char output[] = "Hello.";&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; while (output[count] != '\0')&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print(output[count]);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count++;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; while(1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;return 0 ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:24:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547170#M9982</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:24:58Z</dc:date>
    </item>
    <item>
      <title>Re: need help understanding this the delay function.</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547171#M9983</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by gbm on Wed Oct 12 12:43:10 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There are so many errors in your code that it's hard to start correcting it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Why don't you start by rewriting the code known to be correct on some other platform?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;My advices:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- start by writing a routine for writing 4 bits to LCD; be sure to put some delay required for proper strobe widths&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- decide if you want to check the busy bit or wait a known delay before sending each command/character to the LCD&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- implement the selected sync method - write the "wait until ready" routine&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- use 4-bit writes to initialize the LCD to 4-bit mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- write a routine for writing 8-bit data/comands, using the previously written "wait untli ready" and 4-bit write routine&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:24:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547171#M9983</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:24:59Z</dc:date>
    </item>
    <item>
      <title>Re: need help understanding this the delay function.</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547172#M9984</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by black_ghost on Wed Oct 12 16:02:27 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: gbm&lt;/STRONG&gt;&lt;BR /&gt;There are so many errors in your code that it's hard to start correcting it.&lt;BR /&gt;Why don't you start by rewriting the code known to be correct on some other platform?&lt;BR /&gt;&lt;BR /&gt;My advices:&lt;BR /&gt;- start by writing a routine for writing 4 bits to LCD; be sure to put some delay required for proper strobe widths&lt;BR /&gt;- decide if you want to check the busy bit or wait a known delay before sending each command/character to the LCD&lt;BR /&gt;- implement the selected sync method - write the "wait until ready" routine&lt;BR /&gt;- use 4-bit writes to initialize the LCD to 4-bit mode&lt;BR /&gt;- write a routine for writing 8-bit data/comands, using the previously written "wait untli ready" and 4-bit write routine&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok thanks for the tip but could pls assist or give me ideas of how to implement the delay function. i know the for loop function i wrote is wrong. And i am a newbie by the way pls assistance would really be appreciated. Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:24:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/need-help-understanding-this-the-delay-function/m-p/547172#M9984</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:24:59Z</dc:date>
    </item>
  </channel>
</rss>

