This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problem in Reading the data from GLCD

Hi,

I am using WG128x64A and AT91sam7S64 processor.
I am able to write a data to the LCD.

But i couldn't Read a Data from the GLCD.

This is my Read code

BYTE LcdDataRead ()
{
   DWORD rdata;
     DWORD rdata1,rdata2,rdata3,rdata4,rdata5,rdata6,rdata7,rdata8;


AT91F_PIO_CfgInput( AT91C_BASE_PIOA, DATA0|DATA1|DATA2|DATA3|DATA4|DATA5|DATA6|DATA7) ;  //config as input pins

     AT91F_PIO_SetOutput( AT91C_BASE_PIOA,  RD_WR  );     /* Read mode *///make DI and RW pin High
   AT91F_PIO_SetOutput( AT91C_BASE_PIOA,  DAT_INS  );  /* Data mode */   //make DI and RW pin High
    AT91F_PIO_SetOutput( AT91C_BASE_PIOA, ENABLE  ) ;
    delay_10us(10);
    AT91F_PIO_ClearOutput( AT91C_BASE_PIOA,  ENABLE  );
   delay_10us(10);


   rdata1 = (AT91F_PIO_GetStatus(AT91C_BASE_PIOA) & DATA0 );
   rdata1 = rdata1 & 0x01;
   rdata2 = (AT91F_PIO_GetStatus(AT91C_BASE_PIOA) & DATA1 );
   rdata2 = rdata2 & 0x02;
   rdata3 = (AT91F_PIO_GetStatus(AT91C_BASE_PIOA) & DATA2 );
   rdata3 = rdata3 & 0x03;
   rdata4 = (AT91F_PIO_GetStatus(AT91C_BASE_PIOA) & DATA3 );
   rdata4 = rdata4 & 0x08;
   rdata5 = (AT91F_PIO_GetStatus(AT91C_BASE_PIOA) & DATA4 );
   rdata5 = rdata5 & 0x10;
   rdata6 = (AT91F_PIO_GetStatus(AT91C_BASE_PIOA) & DATA5 );
   rdata6 = rdata6 & 0x20;
   rdata7 = (AT91F_PIO_GetStatus(AT91C_BASE_PIOA) & DATA6 );
   rdata7 = rdata7 & 0x40;
   rdata8 = (AT91F_PIO_GetStatus(AT91C_BASE_PIOA) & DATA7 );
   rdata8 = rdata8 & 0x80;

   rdata = rdata1 |rdata2 |rdata3 |rdata4 |rdata5 |rdata6 |rdata7 |rdata8 ;
AT91F_PIO_CfgOutput( AT91C_BASE_PIOA,DATA0|DATA1|DATA2|DATA3|DATA4|DATA5|DATA6|DATA7) ;  //config as output pins
AT91F_PIO_ClearOutput( AT91C_BASE_PIOA,  DAT_INS |RD_WR |DATA0|DATA1|DATA2|DATA3|DATA4|DATA5|DATA6|DATA7 );  //make DI and RW pin low


   return rdata;   /* return the data read */

}

I dont know what is wrong in my code.

Please help me to solve this problem.

with regards,
Murthy.R