ARM的位处理

在单片机中 我们可以用 P0^1 来操作1个管教

但是在ARM中,ARM上没有位运算的变量,不过可以通过控制IO寄存器来实现某个IO口操作。

例子:

 

1. 设置寄存器

rGPFCON = (rGPFCON | 0xFFFF) & 0xFF55;  //初始化rGPFCON 且GPF0--GPF3设置为output 

rGPFCON 端口寄存器 为16位寄存器 。用于设置端口为输入口还是输出口

其中每2位设置一个管脚的状态 当 rGPFCON= 11 11 11 11 01 01 01 01=0xff 55 的时候 GPF0-GPF3设置为输出管脚

2. rGPFUP  = rGPFUP & 0xF0; 使用上拉 当该位是 0 使用上拉 1不使用上拉

rGPFUP 为8位寄存器 当 rGPFUP=1111 0000=0xf0  GPF0-GPF3 就是用上拉电阻

3.rGPFDAT = 0x0F;   配置数据寄存器 以改变该管脚高低电平

rGPFDAT 是8位寄存器 rGPFDAT=0000 1111 则后四位为高电平

posted on 2013-03-16 20:02  AI_JJ  阅读(307)  评论(0)    收藏  举报

导航