Too long, 6 sec!!! no??

2007/9/20, f_lamme <[EMAIL PROTECTED]>:
>
>   The Dislpay works correctly, but it uses 6 second to write 320*240.
> With the old way he was putting us about 15 second.
>
> --- In [email protected] <foxboard%40yahoogroups.com>, John Crispin
> <[EMAIL PROTECTED]> wrote:
> >
> > glad it worked, speed ok now ?
> > what lcd are you using exactly ?
> >
> >
> > Quoting f_lamme <[EMAIL PROTECTED]>:
> >
> > > Have solved was a signal problem
> > > --- In [email protected] <foxboard%40yahoogroups.com>,
> "f_lamme" <f_lamme@> wrote:
> > >>
> > >> I have changed my function so
> > >>
> > >> void lcd_put_byte(unsigned int value, char clk, int reg)
> > >> {
> > >> unsigned int val2;
> > >> val2 = value<<8;
> > >> gpiosetbits(PORTG, val2 & 0xff00);
> > >> gpioclearbits(PORTG, (~val2) & 0xff00);
> > >> gpioclearbits(PORTG, PG1);
> > >> gpiosetbits(PORTG, PG3);
> > >> gpioclearbits(PORTG, PG3);
> > >> if (clk==1)
> > >> {
> > >> gpiosetbits(PORTG, PG3);
> > >> gpioclearbits(PORTG, PG3);
> > >> }
> > >> gpiosetbits(PORTG, PG1);
> > >>
> > >> }
> > >>
> > >> When I call the function I do such a thing
> > >> adr=(r-1)*240+(c-1);
> > >> byte=((adr >> 16) & 0x00000001);
> > >> banco=(banco << 1) & 0x03;
> > >> byte=byte | banco;
> > >> gpioclearbits(PORTG, PG16);
> > >> gpioclearbits(PORTG, PG17);
> > >> gpioclearbits(PORTG, PG18);
> > >> lcd_put_byte(byte,0,REG0);
> > >>
> > >> With the old system everything was working slowly, but now the
> > >> dispatch of the data to the dislpay does not work
> > >> > > PG8-PG15
> > >> > >
> > >> > > --- In [email protected] <foxboard%40yahoogroups.com>,
> John Crispin <john@> wrote:
> > >> > >>
> > >> > >> hi
> > >> > >>
> > >> > >> gpiosetbits(PORTG, (value << 8) & 0xffffff00);
> > >> > >> gpioclearbits(PORTG, (~value << 8) & 0xffffff00);
> > >> > >>
> > >> > >>
> > >> > >> although the & 0xffffff00 bit is not really needed, it is
> just for
> > >> > > sanity
> > >> > >>
> > >> > >> john
> > >> > >>
> > >> > >> > if (value&0x01)
> > >> > >> > gpiosetbits(PORTG, PG8);
> > >> > >> > else
> > >> > >> > gpioclearbits(PORTG, PG8);
> > >> > >> > if (value&0x02)
> > >> > >> > gpiosetbits(PORTG, PG9);
> > >> > >> > else
> > >> > >> > gpioclearbits(PORTG, PG9);
> > >> > >> > if (value&0x04)
> > >> > >> > gpiosetbits(PORTG, PG10);
> > >> > >> > else
> > >> > >> > gpioclearbits(PORTG, PG10);
> > >> > >> > if (value&0x08)
> > >> > >> > gpiosetbits(PORTG, PG11);
> > >> > >> > else
> > >> > >> > gpioclearbits(PORTG, PG11);
> > >> > >> > if (value&0x10)
> > >> > >> > gpiosetbits(PORTG, PG12);
> > >> > >> > else
> > >> > >> > gpioclearbits(PORTG, PG12);
> > >> > >> > if (value&0x20)
> > >> > >> > gpiosetbits(PORTG, PG13);
> > >> > >> > else
> > >> > >> > gpioclearbits(PORTG, PG13);
> > >> > >> > if (value&0x40)
> > >> > >> > gpiosetbits(PORTG, PG14);
> > >> > >> > else
> > >> > >> > gpioclearbits(PORTG, PG14);
> > >> > >> > if (value&0x80)
> > >> > >> > gpiosetbits(PORTG, PG15);
> > >> > >> > else
> > >> > >> > gpioclearbits(PORTG, PG15);
> > >> > >> > // cs e clk
> > >> > >> > gpioclearbits(PORTG, PG1);
> > >> > >> > gpiosetbits(PORTG, PG3);
> > >> > >> > gpioclearbits(PORTG, PG3);
> > >> > >> > if (clk==1)
> > >> > >> > {
> > >> > >> > gpiosetbits(PORTG, PG3);
> > >> > >> > gpioclearbits(PORTG, PG3);
> > >> > >> > }
> > >> > >> > gpiosetbits(PORTG, PG1);
> > >> > >> >
> > >> > >> > }
> > >> > >> > the problem and the slowness with which the byte is sent
> > >> because the
> > >> > >> > byte is sent bit per bit.
> > >> > >> > Does a way exist to send a whole byte?
> > >> > >> > I excuse but I do not speak English very well
> > >> > >> >
> > >> > >> >
> > >> > >>
> > >> > >
> > >> > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> > >
> >
>
>  
>



-- 
Stéphane Herraiz

Reply via email to