设为首页 加入收藏

TOP

S3C2410多功能复用I/O口(一)
2014-11-24 12:55:58 来源: 作者: 【 】 浏览:3
Tags:S3C2410 多功能 复用 I/O

S3C2410A共有117个多功能复用输入/输出口(I/O口),分为8组,即PORTA~PORT H,8组I/O口按照其位数的不同,可分为:


具体的I/O口配置见S3C2410A芯片手册



在S3C2410A中,大部分引脚都是复用的,所有需要对每一个引脚定义其功能。为了使用I/O口,首先也要定义引脚的功能。配置这些端口,是通过设置一系列寄存器来实现的。与配置I/O都相关的寄存器包括:端口控制寄存器(GPACON~GPHCON)、端口数据寄存器(GPADAT~GPHDAT)、端口上拉寄存器(GPBUP~GPHUP)、杂项控制寄存器以及外部中断屏蔽寄存器(EXTINTN)等。所有GPIO寄存器的值在掉电模式下都会被保存。外部中断屏蔽寄存器EINTMASK不能阻止从掉电模式唤醒,但是如果EINTMASK正在屏蔽的是EINT[15:4]中的某位,则可以实现唤醒,不过中断源挂起寄存器SRCPND的位EINT4_7和EINT8_23在刚刚唤醒后不置1。


端口控制寄存器用于定义每个引脚的功能。如果GPF0~GPF7和GPG0~GPG7用作掉电模式下的唤醒信号,那么这些端口必须在中断模式下配置。


如果将端口配置为输出口,数据可以写入到端口数据寄存器的相应位中;如果将端口配置为输入口,则可以从端口数据寄存器的相应位中读出数据。


端口上拉寄存器用于控制每组端口的上拉电阻为禁止还是使能。如果相应位设置为0,则表示该引脚的上拉电阻使能;为1,则表示上拉电阻禁止。如果使能了端口上拉寄存器,则不论引脚配置为哪种功能,上拉电阻都会起作用。


杂项控制寄存器用于控制数据端口的上拉电阻、高阻状态、USBPad和CLKOUT的选择。


24个外部中断通过不同的信号被请求。EXTINTn寄存器用于配置这些信号对于外部中断请求采用的是低电平触发、高电平触发、下降沿触发、上升沿触发还是双边沿触发。



下面对相关寄存器的设置分别进行描述:


1.PORT A控制寄存器:


GPACON 地址0x56000000


配置A口的引脚,使用位[22:0]


0:输出引脚


1:输入引脚


GPADAT 地址0x56000004


A口的数据寄存器,使用位[22:0]


保留 地址0x56000008


保留 地址0x5600000C



2.PORT B控制寄存器:


GPBCON 地址0x56000010


配置B口的引脚,使用位[21:0]分别对B口的相应11个位进行配置。


00:输入 01:输出


10:功能引脚 11:保留


GPBDAT 地址0x56000014


B口的数据寄存器,使用位[10:0]


GPBUP 地址0x56000018


B口的上拉电阻禁止寄存器,使用位[10:0]


1表示禁止 0表示使能


保留 地址0x5600001C



3.PORT C控制寄存器:


GPCCON 地址0x56000020


配置C口的引脚,使用位[31:0]分别对C口的相应16个位进行配置。


00:输入 01:输出


10:功能引脚 11:保留


GPCDAT 地址0x56000024


C口的数据寄存器,使用位[15:0]


GPCUP 地址0x56000028


C口的上拉电阻禁止寄存器,使用位[15:0]


1表示禁止 0表示使能


保留 地址0x5600002C



4.PORT D控制寄存器:


GPDCON 地址0x56000030


配置D口的引脚,使用位[31:0]分别对D口的相应16个位进行配置。


00:输入 01:输出


10:功能引脚 11:保留/另一功能引脚


GPDDAT 地址0x56000034


D口的数据寄存器,使用位[15:0]


GPDUP 地址0x56000038


D口的上拉电阻禁止寄存器,使用位[15:0]


1表示禁止 0表示使能


保留 地址0x5600003C



5.PORT E控制寄存器:


GPECON 地址0x56000040


配置E口的引脚,使用位[31:0]分别对E口的相应16个位进行配置。


00:输入 01:输出


10:功能引脚 11:保留/另一功能引脚


GPEDAT 地址0x56000044


E口的数据寄存器,使用位[15:0]


GPEUP 地址0x56000048


E口的上拉电阻禁止寄存器,使用位[15:0]


1表示禁止 0表示使能


保留 地址0x5600004C



6.PORT F控制寄存器:


GPFCON 地址0x56000050


配置F口的引脚,使用位[15:0]分别对F口的相应8个位进行配置。


00:输入 01:输出


10:功能引脚 11:保留


GPFDAT 地址0x56000054


F口的数据寄存器,使用位[7:0]


GPFUP 地址0x56000058


F口的上拉电阻禁止寄存器,使用位[7:0]


1表示禁止 0表示使能


保留 地址0x5600005C



7.PORT G控制寄存器:


GPGCON 地址0x56000060


配置G口的引脚,使用位[31:0]分别对G口的相应16个位进行配置。


00:输入 01:输出


10:功能引脚 11:保留/另一功能引脚


GPGDAT 地址0x56000064


G口的数据寄存器,使用位[15:0]


GPGUP 地址0x56000068


G口的上拉电阻禁止寄存器,使用位[15:0]


首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android 系统重启与关机:Java 代.. 下一篇Real6410 QT4开发环境配置详解

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C语言中如何将结构体 (2025-12-24 22:20:09)
·纯C语言结构体成员变 (2025-12-24 22:20:06)
·C语言中,指针函数和 (2025-12-24 22:20:03)
·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)