EmbDev.net

Forum: ARM programming with GCC/GNU tools accessing bit in LPC2148


Author: Pragati Shah (Company: services india) (pragati)
Posted on:

Rate this post
0 useful
not useful
Hello all;

I am using LPC2148.I have write code like this.e.g.
     switch ( s )
      {
      case 0x00:
          IO0SET |= (1<<1);
          IO0CLR |= (1<<2);
          IO0SET |= (1<<3);
          IO0SET |= (1<<4);
          break; }
I want to assign port pin directly through bit(like used in 8051 sbit)
Have you any suggestion?

I am using SCARM compilar.

Author: Martin Thomas (mthomas) (Moderator)
Posted on:

Rate this post
0 useful
not useful
Pragati Shah wrote:
> I am using LPC2148.I have write code like this.e.g.
>      switch ( s )
>       {
>       case 0x00:
>           IO0SET |= (1<<1);
>           IO0CLR |= (1<<2);
>           IO0SET |= (1<<3);
>           IO0SET |= (1<<4);
>           break; }
> I want to assign port pin directly through bit(like used in 8051 sbit)
> Have you any suggestion?
As far as I know there are no instuctions in this controller-family that 
can be compared to MC51's sbit for an IO-Pin. The GPIO-Module is 
accessed through 32bit registers. But you should re-read the manual: |= 
is not needed. For "higher speed" enable FIO and use the FIO registers 
instead of "legacy" IO

> I am using SCARM compilar.
Whatever this is.

Author: Pragati Shah (Company: services india) (pragati)
Posted on:

Rate this post
0 useful
not useful
Thanks alot.

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.