<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>lcd not working</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/38383/lcd-not-working</link><description> 
hi 
i am trying to interface an 16x2 lcd onto an arm7 board lpc2148. the
pins i am using for the data is p0.16-p0.23 
and for control signals ie rs rw e i am using p1.24 p1.25 p1.26
respectively.When i dump the following code nothing is getting
changed</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/155444?ContentTypeID=1</link><pubDate>Thu, 21 May 2009 06:07:38 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:626f5624-0d1c-4dec-b13f-336c326e8e8c</guid><dc:creator>Advanced Zeusti</dc:creator><description>&lt;p&gt;&lt;p&gt;
&amp;lt;quote&amp;gt;&lt;br /&gt;
either way, I did my best.&lt;br /&gt;
&amp;lt;end&amp;gt;&lt;/p&gt;

&lt;p&gt;
plz dont do {time} critical assembler until yo&amp;#39;ve read apcs :)&lt;/p&gt;

&lt;pre&gt;
Zeusti()
{
 (void)(&amp;quot;Always yo&amp;#39;re freind.&amp;quot;);
}
&lt;/pre&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/155083?ContentTypeID=1</link><pubDate>Thu, 21 May 2009 05:54:04 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:6dc5e513-a9c3-40bf-8c2d-f82b4f53263d</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
I really believe you have no idea what you are talking about.
either way, I did my best. Please stay away from&lt;br /&gt;
* flight control systems&lt;br /&gt;
* mp3 players&lt;br /&gt;
* the weapon industry&lt;br /&gt;
* anything life saving/mission critical.&lt;/p&gt;

&lt;p&gt;
stick to what you know: babbling on Internet forums...&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/154641?ContentTypeID=1</link><pubDate>Thu, 21 May 2009 03:10:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3eeb1a9d-8444-43e7-bfc6-650c01d56844</guid><dc:creator>Advanced Zeusti</dc:creator><description>&lt;p&gt;&lt;p&gt;
mr tameer.&lt;/p&gt;

&lt;p&gt;
c macro for this is ok for beginer.&lt;/p&gt;

&lt;p&gt;
but &lt;b&gt;Approved Zeusti&lt;/b&gt; is not afraid of assemble function!&lt;/p&gt;

&lt;p&gt;
Zeusti.&lt;/p&gt;

&lt;p&gt;
Always yo&amp;#39;re freind.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/154642?ContentTypeID=1</link><pubDate>Thu, 21 May 2009 03:04:25 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:97adf877-3aed-4d74-a51f-1f0c8be5b9d0</guid><dc:creator>Advanced Zeusti</dc:creator><description>&lt;p&gt;&lt;p&gt;
poor mr tameer.&lt;/p&gt;

&lt;p&gt;
read the apcs.&lt;/p&gt;

&lt;p&gt;
Zeusti.&lt;/p&gt;

&lt;p&gt;
Always yo&amp;#39;re freind.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/154121?ContentTypeID=1</link><pubDate>Thu, 21 May 2009 02:59:05 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:35267af0-49d8-4d76-8319-7ad790f04a5a</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
if you look at one of my previous posts, you would see that I
indicated that mistake already. there is no need to decrement more
than one register. the need to preserve/restore R0 and R1 stems from
the fact that the caller might assume a different role/value for
these registers, hence delaying your code without maintaining their
old value might break your software one the call returns.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/154119?ContentTypeID=1</link><pubDate>Thu, 21 May 2009 02:54:58 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:196f3bf7-b6f5-4421-b90b-cab177d58b14</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
the 15 factor was established for&lt;br /&gt;
* a LPC2478 running at 72 MHz&lt;br /&gt;
* measuring with a scope and a processor pin how long the delay
actually is. the 15 constant would need to be changed in case another
processor speed is configured. that is the reason it is embedded in a
macro - changing platform only required one localized change that
affects all instances where it was used.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/153515?ContentTypeID=1</link><pubDate>Thu, 21 May 2009 02:41:23 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:c78c8688-cf5f-4bcc-b03f-2129c39375ff</guid><dc:creator>Advanced Zeusti</dc:creator><description>&lt;p&gt;&lt;p&gt;
but mr tameer.&lt;/p&gt;

&lt;p&gt;
yo&amp;#39;re code still used R0 and R1 and did not pre serve?&lt;/p&gt;

&lt;p&gt;
does ARM calling convections need you to store R0 and R1?&lt;/p&gt;

&lt;p&gt;
Zeusti.&lt;/p&gt;

&lt;p&gt;
Always yo&amp;#39;re freind.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/153520?ContentTypeID=1</link><pubDate>Thu, 21 May 2009 02:36:33 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:026aca11-38e3-4792-a192-9c72d8a882a6</guid><dc:creator>Advanced Zeusti</dc:creator><description>&lt;p&gt;&lt;p&gt;
plz mr tameer.&lt;/p&gt;

&lt;p&gt;
plz explain what you think is so bad with my code?&lt;/p&gt;

&lt;p&gt;
it works.&lt;/p&gt;

&lt;p&gt;
it does not need horible *15 macro !!!&lt;/p&gt;

&lt;p&gt;
Zeusti.&lt;/p&gt;

&lt;p&gt;
always yo&amp;#39;re freind.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/148382?ContentTypeID=1</link><pubDate>Thu, 21 May 2009 01:41:16 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:528bfcf7-97ba-48ed-825b-6bcbed2a9497</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
vikas,&lt;br /&gt;
can you make up a convincing argument as to WHY you need to decrement
both R0 and R1? only one of them will do! you also forgot to backup
the value of the changed registers in the stack, and to pop the old
value from the stack when done.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/148380?ContentTypeID=1</link><pubDate>Thu, 21 May 2009 01:26:19 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:379fa4ff-667b-4f87-aa45-0947b7394c10</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;lt;quote&amp;gt;&lt;br /&gt;
you&amp;#39;re killing your prefetch cache...!&lt;br /&gt;
&amp;lt;end&amp;gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;no Mr Tameer.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;it is a delay with delays calculated. kiled prefetch cache is
part of the delay!&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;Plz do not be so upset .if you study YOU can learn.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;Zeusti.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
&lt;i&gt;Always yo&amp;#39;re freind.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
every nonsense post of yours makes this charade better. please, do
proceed....&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/148091?ContentTypeID=1</link><pubDate>Wed, 20 May 2009 22:50:40 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b7a2a4d6-be46-47bc-81cb-16143d9de0e9</guid><dc:creator>Advanced Zeusti</dc:creator><description>&lt;p&gt;&lt;p&gt;
&amp;lt;quote&amp;gt;&lt;br /&gt;
you&amp;#39;re killing your prefetch cache...!&lt;br /&gt;
&amp;lt;end&amp;gt;&lt;/p&gt;

&lt;p&gt;
no Mr Tameer.&lt;/p&gt;

&lt;p&gt;
it is a delay with delays calculated. kiled prefetch cache is part
of the delay!&lt;/p&gt;

&lt;p&gt;
Plz do not be so upset .if you study YOU can learn.&lt;/p&gt;

&lt;p&gt;
Zeusti.&lt;/p&gt;

&lt;p&gt;
Always yo&amp;#39;re freind.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/148090?ContentTypeID=1</link><pubDate>Wed, 20 May 2009 21:35:05 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:75659b54-e721-4902-81a6-bccd2dc380e9</guid><dc:creator>vikas m</dc:creator><description>&lt;p&gt;&lt;pre&gt;
void delay()__arm
{
__asm
{
MOV R3,R0
loop:
SUB  R1,R1,#1      ;R1 = R1-1
NOP                ;A more delaying
SUB   R0,R0,#1     ;R0 = R0-1
BNE    loop          ;BRANCH if NOW NOT NULLIFIED
BX     LR          ;GO TO WHERE YOU CAME FROM
}
}
&lt;/pre&gt;

&lt;p&gt;
will this be fine&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/147513?ContentTypeID=1</link><pubDate>Wed, 20 May 2009 13:16:03 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:758c3d17-c2ed-42e8-9a48-ed6d1e18d372</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
vikas,&lt;br /&gt;
why are you using 2 branch instructions when you can do the same with
one? you&amp;#39;re killing your prefetch cache...!&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/144628?ContentTypeID=1</link><pubDate>Wed, 20 May 2009 12:51:17 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:de72ab26-ea8c-4da1-8b00-e0d3c9c20753</guid><dc:creator>Jeff Dunn</dc:creator><description>&lt;p&gt;&lt;p&gt;
Mr Approving Zeusti,&lt;/p&gt;

&lt;p&gt;
Not sure about your comment style; but I like your code. Nice
accuracy and really efficient.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/146370?ContentTypeID=1</link><pubDate>Wed, 20 May 2009 00:32:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:eff6c40b-f0de-4d22-84b6-6a32f17386f5</guid><dc:creator>vikas m</dc:creator><description>&lt;p&gt;&lt;p&gt;
using port no p1 24-31 for data bits and p0.12 13 15 for rs rw and
e bits respectively..i am trying to display the characters in the
code but nothing comes up on the display and neither the
inituialization commands are working kindly help&lt;/p&gt;

&lt;pre&gt;
#include&amp;lt;LPC214x.h&amp;gt;

void init_PLL(void);
void init_GPIO(void);
void lcd_data(unsigned char);
void lcd_cmd(unsigned char);
void lcd_init(void);
//void delay(unsigned int);

//#define E 0x00008000
//#define RW 0x00002000
//#define RS 0x00001000

/*void delay()__arm
{
        __asm
        {
                P1  MOV   R1,#11        ;R1 = 11
        P2  SUBS  R1,R1,#1          ;R1 = R1-1
        BNE   P2              ;Branch if not now nullified
        NOP                    ;A more delaying

        SUBS   R0,R0,#1       ;R0 = R0-1
        BNE    P1          ;BRANCH if NOW NOT NULLIFIED

        BX     LR           ;GO TO WHERE YOU CAME FROM
        }
}
 */
 void delay()__arm
{

__asm
{
MOV R3,R0
loop:
MOV R1,#11         ;R1 = 11
loop1:
SUB  R1,R1,#1      ;R1 = R1-1
BNE   loop1           ;Branch if not now nullified
NOP                ;A more delaying
SUB   R0,R0,#1     ;R0 = R0-1
BNE    loop          ;BRANCH if NOW NOT NULLIFIED
BX     LR          ;GO TO WHERE YOU CAME FROM
}
}
int main(void)
{
        init_PLL();
        init_GPIO();
        lcd_init();
        while(1)
        {
                lcd_data(&amp;#39;A&amp;#39;);
                lcd_data(&amp;#39;B&amp;#39;);
                lcd_data(96);
                lcd_data(0x95);

        }
}
void init_PLL(void)
{
        PLL0CFG=0x00000024; // TO GENERATE 60 MHZ CCLK
        PLL0CON=0x00000001;
        PLL0FEED=0x000000AA;//UPDATE THE PLL REGISTER
        PLL0FEED=0x00000055;
         while(!(PLL0STAT &amp;amp; 0x00000400)); // CHECK WHETHRT THE CCLK IS GENERATED EXAXT VALUE
        PLL0CON=0x00000003;  //  CONNECT PLL
        PLL0FEED=0x000000AA; //UPDATE THE PLL REGISTER
        PLL0FEED=0x00000055;
        VPBDIV=0x00000002;      //PCLK=1/2*CCLK
}
void init_GPIO( void)
{
        PINSEL1=0xFF000000;
        PINSEL0=0x0000B000;
        IODIR1=0xFF000000;
        IODIR0=0x0000B000;
}
void lcd_init(void)
{

        lcd_cmd(0x380000);
        lcd_cmd(0x0e0000);
        lcd_cmd(0x010000);
        lcd_cmd(0x800000);
        lcd_cmd(0x060000);
}

void lcd_data(unsigned char ldata)
{

        IOSET0=ldata;
        IOSET1=0x00001000;//RS;
        IOCLR1=0x00002000;//RW;
        IOSET1=0x00008000;//E;
        IOCLR1=0x00008000;//E;
        delay();
 }
  void lcd_cmd(unsigned char lcmd)
  {


                IOSET0=lcmd;
                IOCLR1=0x00001000;//RS;
                IOCLR1=0x00002000;//RW;
                IOSET1=0x00008000;//E;
                IOCLR1=0x00008000;//E;
                delay();
  }
/*
void delay(/*any arguement if required)
{
            P1  MOV   R1,#11        ;R1 = 11
        P2  SUBS  R1,R1,#1          ;R1 = R1-1
        BNE   P2              ;Branch if not now nullified
        NOP                    ;A more delaying

        SUBS   R0,R0,#1       ;R0 = R0-1
        BNE    P1          ;BRANCH if NOW NOT NULLIFIED

        BX     LR           ;GO TO WHERE YOU CAME FROM
} */
/*
  void delay(unsigned int value)
  {

         unsigned int i;
        for(i=0;i&amp;lt;value;i++);
        {

        }
  }
  */
&lt;/pre&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/144623?ContentTypeID=1</link><pubDate>Wed, 20 May 2009 00:02:52 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f6877537-1efe-4e56-94ae-0abff77dfeef</guid><dc:creator>Advanced Zeusti</dc:creator><description>&lt;p&gt;&lt;p&gt;
Tamer.&lt;/p&gt;

&lt;p&gt;
plz do not be offended . if other people like my anserws more than
yo&amp;#39;rs.&lt;/p&gt;

&lt;p&gt;
Zeusti,.&lt;/p&gt;

&lt;p&gt;
Always your freind.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/142306?ContentTypeID=1</link><pubDate>Tue, 19 May 2009 23:59:38 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:52f00ddb-1630-4f41-a020-a386446ff851</guid><dc:creator>Advanced Zeusti</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hello.&lt;/p&gt;

&lt;p&gt;
I now have tryed the code and it worked in C.&lt;/p&gt;

&lt;p&gt;
You MUST PUT code like here with P1 and P2 in columen 1! becoz it
is then a label.&lt;/p&gt;

&lt;p&gt;
You chek the int32 for you .you&lt;/p&gt;

&lt;pre&gt;
__asm void delay(int32 usDelay)
{
P1    MOV   R1,#11        ;R1 = 11
P2    SUBS  R1,R1,#1          ;R1 = R1-1
      BNE   P2              ;Branch if not now nullified
      NOP                    ;A more delaying

      SUBS   R0,R0,#1       ;R0 = R0-1
      BNE    P1          ;BRANCH if NOW NOT NULLIFIED

      BX     LR           ;GO TO WHERE YOU CAME FROM
}
&lt;/pre&gt;

&lt;p&gt;
Zeusti/&lt;/p&gt;

&lt;p&gt;
Always Your Freind&lt;br /&gt;
(and Tamers)&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/139168?ContentTypeID=1</link><pubDate>Tue, 19 May 2009 23:34:07 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:f5d1841c-d3f3-4036-90f6-1b209efe62f7</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
this is what you get when you use &amp;quot;professor&amp;quot; type code, I
guess...simply put: if you plug my code into your program (not
forgetting to adjust the &amp;quot;15&amp;quot; constant to your needs) you should be
up and running in no time.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/135784?ContentTypeID=1</link><pubDate>Tue, 19 May 2009 23:31:01 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:9980a08f-a3f5-4d36-b36d-01a4ac489f73</guid><dc:creator>vikas m</dc:creator><description>&lt;p&gt;&lt;p&gt;
i have used this code ...but i am getting an error which is
mentioned after the code&lt;/p&gt;

&lt;pre&gt;
void delay()__arm
{
        __asm
        {
                P1  MOV   R1,#11        ;R1 = 11
        P2  SUBS  R1,R1,#1          ;R1 = R1-1
        BNE   P2              ;Branch if not now nullified
        NOP                    ;A more delaying

        SUBS   R0,R0,#1       ;R0 = R0-1
        BNE    P1          ;BRANCH if NOW NOT NULLIFIED

        BX     LR           ;GO TO WHERE YOU CAME FROM
        }
}
&lt;/pre&gt;

&lt;p&gt;
error C197: inline-asm: Syntax error error C197: inline-asm:
Syntax error&lt;/p&gt;

&lt;p&gt;
the errors r shown at line starting with P2 an dthe other one
BNE....kindly help&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/125476?ContentTypeID=1</link><pubDate>Tue, 19 May 2009 23:12:42 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3f9bde6c-31b6-459b-950f-0865be273871</guid><dc:creator>vikas m</dc:creator><description>&lt;p&gt;&lt;p&gt;
errors increased&lt;/p&gt;

&lt;p&gt;
LCD20.C(28): error C25: syntax error near &amp;#39;__asm&amp;#39;&lt;br /&gt;
LCD20.C(28): error C25: syntax error near &amp;#39;usDelay&amp;#39;&lt;br /&gt;
LCD20.C(29): warning C35: &amp;#39;delay&amp;#39;: uses old-style declarator&lt;br /&gt;
LCD20.C(30): error C67: &amp;#39;P1&amp;#39;: undefined identifier&lt;br /&gt;
LCD20.C(30): error C25: syntax error near &amp;#39;MOV&amp;#39;&lt;br /&gt;
LCD20.C(30): warning C34: &amp;#39;R1&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(30): error C42: &amp;#39;R1&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(30): error C25: syntax error near &amp;#39;#&amp;#39;&lt;br /&gt;
LCD20.C(30): error C142: illegal initialization&lt;br /&gt;
LCD20.C(31): error C25: syntax error near &amp;#39;P2&amp;#39;&lt;br /&gt;
LCD20.C(31): warning C34: &amp;#39;P2&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(31): error C42: &amp;#39;P2&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(31): warning C34: &amp;#39;SUBS&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(31): error C42: &amp;#39;SUBS&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(31): warning C34: &amp;#39;R1&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(31): error C42: &amp;#39;R1&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(31): warning C34: &amp;#39;R1&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(31): error C42: &amp;#39;R1&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(31): error C25: syntax error near &amp;#39;#&amp;#39;&lt;br /&gt;
LCD20.C(31): error C142: illegal initialization&lt;br /&gt;
LCD20.C(31): error C67: &amp;#39;R1&amp;#39;: undefined identifier&lt;br /&gt;
LCD20.C(32): error C53: redefinition of &amp;#39;R1&amp;#39;: different basic
types&lt;br /&gt;
LCD20.C(32): error C25: syntax error near &amp;#39;BNE&amp;#39;&lt;br /&gt;
LCD20.C(32): warning C34: &amp;#39;BNE&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(32): error C42: &amp;#39;BNE&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(32): warning C34: &amp;#39;P2&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(32): error C42: &amp;#39;P2&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(32): warning C34: &amp;#39;Branch&amp;#39;: missing declaration
specifiers&lt;br /&gt;
LCD20.C(32): error C42: &amp;#39;Branch&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(32): error C25: syntax error near &amp;#39;if&amp;#39;&lt;br /&gt;
LCD20.C(32): warning C34: &amp;#39;not&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(32): error C42: &amp;#39;not&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(32): warning C34: &amp;#39;now&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(32): error C42: &amp;#39;now&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(33): warning C34: &amp;#39;nullified&amp;#39;: missing declaration
specifiers&lt;br /&gt;
LCD20.C(33): error C42: &amp;#39;nullified&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(33): warning C34: &amp;#39;NOP&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(33): error C42: &amp;#39;NOP&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(33): warning C34: &amp;#39;A&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(33): error C42: &amp;#39;A&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(33): error C25: syntax error near &amp;#39;more&amp;#39;&lt;br /&gt;
LCD20.C(33): warning C34: &amp;#39;more&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(33): error C42: &amp;#39;more&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(35): warning C34: &amp;#39;delaying&amp;#39;: missing declaration
specifiers&lt;br /&gt;
LCD20.C(35): error C42: &amp;#39;delaying&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(35): warning C34: &amp;#39;SUBS&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(35): error C42: &amp;#39;SUBS&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(35): warning C34: &amp;#39;R0&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(35): error C42: &amp;#39;R0&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(35): warning C34: &amp;#39;R0&amp;#39;: missing declaration specifiers&lt;br /&gt;
LCD20.C(35): error C42: &amp;#39;R0&amp;#39;: not in formal parameter list&lt;br /&gt;
LCD20.C(35): error C25: syntax error near &amp;#39;#&amp;#39;&lt;br /&gt;
LCD20.C(35): error C142: illegal initialization&lt;br /&gt;
LCD20.C(35): error C67: &amp;#39;R0&amp;#39;: undefined identifier&lt;br /&gt;
LCD20.C(36): error C53: redefinition of &amp;#39;R0&amp;#39;: different basic
types&lt;br /&gt;
LCD20.C(36): error C25: syntax error near &amp;#39;BNE&amp;#39;&lt;br /&gt;
LCD20.C(36): error C7: compilation aborted&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/114938?ContentTypeID=1</link><pubDate>Tue, 19 May 2009 22:36:56 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a27a231a-25d6-4e6c-88ec-c7d4bc8f0fcb</guid><dc:creator>Advanced Zeusti</dc:creator><description>&lt;p&gt;&lt;pre&gt;
__asm void delay(int32 usDelay)
{
        P1    MOV   R1,#11        ;R1 = 11
        P2    SUBS  R1,R1,#1          ;R1 = R1-1
        BNE   P2              ;Branch if not now nullified
        NOP                    ;A more delaying

        SUBS   R0,R0,#1       ;R0 = R0-1
        BNE    P1          ;BRANCH if NOW NOT NULLIFIED

        BX     LR           ;GO TO WHERE YOU CAME FROM
}
&lt;/pre&gt;

&lt;p&gt;
Sorry but i canot try codeing atm.&lt;/p&gt;

&lt;p&gt;
I think you SHOUJLD try it.&lt;/p&gt;

&lt;p&gt;
Zeusti.&lt;/p&gt;

&lt;p&gt;
Always yo&amp;#39;re friend&lt;br /&gt;
(and Timars!)&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/101839?ContentTypeID=1</link><pubDate>Tue, 19 May 2009 21:40:20 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:6f543c19-851b-42da-9967-b18fe0187ed8</guid><dc:creator>vikas m</dc:creator><description>&lt;p&gt;&lt;p&gt;
i have done a slight modification to the code that u have
mentioned please kindly have a look at this code... i am getting
these errors could u tell me why&lt;/p&gt;

&lt;pre&gt;
void delay()
{
        __asm
        {
                P1  MOV   R1,#11        ;R1 = 11
        P2  SUBS  R1,R1,#1          ;R1 = R1-1
        BNE   P2              ;Branch if not now nullified
        NOP                    ;A more delaying

        SUBS   R0,R0,#1       ;R0 = R0-1
        BNE    P1          ;BRANCH if NOW NOT NULLIFIED

        BX     LR           ;GO TO WHERE YOU CAME FROM
        }
}
&lt;/pre&gt;

&lt;p&gt;
the errors are&lt;br /&gt;
LCD.C(19): error C197: inline-asm: Syntax error&lt;br /&gt;
LCD.C(20): error C197: inline-asm: undefined identifier&lt;br /&gt;
LCD.C(20): error C197: inline-asm: Syntax error&lt;br /&gt;
LCD.C(24): error C197: inline-asm: undefined identifier&lt;br /&gt;
LCD.C(24): error C197: inline-asm: Syntax error&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/146364?ContentTypeID=1</link><pubDate>Tue, 19 May 2009 05:20:56 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:eb3d3a05-49ce-425a-92df-04cc992848d4</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
Aha.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/144622?ContentTypeID=1</link><pubDate>Tue, 19 May 2009 05:19:28 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:264c4214-8dc7-4f72-a842-2fff450cde44</guid><dc:creator>Advanced Zeusti</dc:creator><description>&lt;p&gt;&lt;p&gt;
&amp;lt;qiote&amp;gt;&lt;br /&gt;
no. think again. you are a professor, after all.&lt;br /&gt;
&amp;lt;end&amp;gt;&lt;/p&gt;

&lt;p&gt;
i have already seen b4. you need macro bcoz you&amp;#39;re code wants
delay/15 . ok for beginer. if you have time to learn@ I can teach
you.&lt;/p&gt;

&lt;p&gt;
Zeusti/&lt;/p&gt;

&lt;p&gt;
Always Your freind.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: lcd not working</title><link>https://community.arm.com/thread/142319?ContentTypeID=1</link><pubDate>Tue, 19 May 2009 05:12:54 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3bd25ff7-0d90-4ec9-8cf5-1a67186bc9a3</guid><dc:creator>Tamir Michael</dc:creator><description>&lt;p&gt;&lt;p&gt;
no. think again. you are a professor, after all.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>