LPC2200芯片的GPIO命令

最近在学习嵌入式驱动程序的编写范例的时候,使用的是LPC2200 看的一些重要的内容。

 

命令      功能

GPIO_SET_PIN   指定的IO口输出高电平

GPIO_SET_ALL_PIN  IO的任意子集输出高电平

GPIO_CLEAN_PIN     指定的IO口输出低电平

GPIO_CLEAN_ALL_PIN   IO的任意子集输出低电平

GPIO_SET_PIN_OUT    IO为输出状态

GPIO_SET_PIN_IN       IO为输入状态

GPIO_SET_MULTI_PIN_OUT   任意子集输出状态

GPIO_SET_MULTI_PIN_IN       任意子集出入状态

GPIO_READ_PORT      读指定的IO口输出电平

GPIO_READ_ALL_PORT   读本端口所有的IO输出电平

GPIO_READ_PIN       读指定IO口上引脚的电平

GPIO_READ_ALL_PIN   读本端口所有IO上引脚的电平

 

 

使用范例:

GPIO_SET_PIN_OUT 

{

int fd;

..............

fd=open("/dev/P0",0_RDONLY);

..............

ioctl(fd,GPIO_SET_PIN_OUT,14);

.............

}

使用ioctl配置引脚14为输出状态

 

例子2

{

int fd;

..............

fd=open("/dev/P0",0_RDONLY);

..............

ioctl(fd,GPIO_SET_MULTI_PIN_OUT,(1<<14)|(1<<25));

............

}

配置14脚和25脚为输出电平

 

 

例子3

{

int fd;

..............

fd=open("/dev/P0",0_RDONLY);

..............

ioctl(fd,GPIO_SET_PIN_IN,14);

.............

}  配置14引脚为输入

 

 

 

以上的这些例子是配置命令 读取端口电平的命令需要例外写,他们略有不同

 

GPIO_READ_PORT  

{

int  fd;

u32 pin;

...........

fd=open("/dev/P0",0_RDONLY);

..........

pin=14;

ioctl(fd,GPIO_READ_PORT,&pin);

}

 

GPIO_READ_ALL_PORT    这是读取P0口的电平

{

int fd;

u32 pin;

...........

fd=open("/dev/P0",0_RDONLY)

..........

ioctl(fd,GPIO_READ_PORT,&pin);

}

 

 

 

 

GPIO_READ_PIN

{

int fd;

u32 pin;

..........

fd=open("/dev/P0",0_RDONLY);

..........

ioctl(fd,GPIO_READ_pin,&pin);

}

 

以上的大约10个函数都是由专门的寄存器配置的。再由ioctl配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值