微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > LPC2131的GPIO操作

LPC2131的GPIO操作

时间:11-20 来源:互联网 点击:
LPC2131中,使用IOxCLR,IOxSET寄存器来对x口清零置1
要清零P0口的第5位
IO0CLR=0x00000010;
0x00000010,为16进制数据
用二进制表示为0000,0000,0000,0000,0000,0000,0001,0000
31------------------------------------------0
其中的1出现在第五位
要清零P1口的第7位
IO1SET=0x00000040;
LPC2131不能直接对某一位进行访问,必须对整个P0口进行操作,
输出时通过向IO0SET和IO0CLR写1来实现引脚电平的高低变换,输入时查询IO0PIN。在这之前需要对P0口进行配置,使用PINSEL0和PINSEL1进行引脚工作方式配置。
IO0DIR对IO口工作方式下P0的输入或者输出方向控制。
例如,如果要对P0.0进行方波输出的话

PINSEL0=PINSEL0 &(~0x00000003)|0x00000000; //P0.0配置为GPIO
IO0DIR = IO0DIR &(~0x00000001)|0x00000001; //P0.0配置为输出
while(1)
{
IO0SET = 0x00000001; //P0.0置高
延时
IO0CLR = 0x00000001; //P0.0拉低
延时
}

当然,如果你为了直观及后续输入方面的话,可以前面宏定义
#define wave 0x00000001
后面直接IO0SET = wave; 就可以了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top