二 ARM9(S3C2440)的IO口——理论知识及程序实例
2011-08-05 16:06
405 查看
概述
S3C2440A 包含了130 个多功能输入/输出口引脚并且它们为如下显示的八个端口:
– 端口A(GPA):25 位输出端口
– 端口B(GPB):11 位输入/输出端口
– 端口C(GPC):16 位输入/输出端口
– 端口D(GPD):16 位输入/输出端口
– 端口E(GPE):16 位输入/输出端口
– 端口F(GPF):8 位输入/输出端口
– 端口G(GPG):16 位输入/输出端口
– 端口H(GPH):9 位输入/输出端口
– 端口J(GPJ):13 位输入/输出端口
每个端口都可以简单的由软件配置为各种系统配置和设计要求。你必须在开始主程序前定义使用的每个引脚的
功能。如果没有使用某个引脚的复用功能,这个引脚可以配置为I/O 口。
端口控制描述
端口配置寄存器(GPACON 至GPJCON)
S3C2440A 中,大多数端口为复用引脚。因此要决定每个引脚选择哪项功能。PnCON(引脚控制寄存器)决
定了每个引脚使用哪项功能。
如果在掉电模式中PE0 至PE7 用于唤醒信号,这些端口必须配置为输入模式。
端口数据寄存器(GPADAT 至GPJDAT)
如果端口配置为输出端口,可以写入数据到PnDAT 的相应位。如果端口配置为输入端口,可以从PnDAT 的相
应位读取数据。
端口上拉寄存器(GPBUP 至GPJUP)
端口上拉寄存器控制每个端口组的使能/禁止上拉电阻。当相应位为0 时使能引脚的上拉电阻。当为1 时禁止
上拉电阻。
如果使能了上拉电阻,那么上拉电阻与引脚的功能设置无关(输入、输出、DATAn、EINTn 等等)
杂项控制寄存器
此寄存器控制睡眠模式,USB 引脚和CLKOUT 选择的数据端口上拉电阻。
外部中断控制寄存器
24 个外部中断由各种信号方式触发。EXTINT 寄存器为外部中断请求配置信号触发方式为低电平触发、高电平
触发、下降沿触发、上升沿触发或双边沿触发。
由于每个外部中断引脚包含一个数字滤波器,中断控制可以确认请求信号是否长于3 个时钟。
EINT[15:0]用于唤醒源
下面是结合具体的程序(用的是FL2440开发板):
一般步骤:
上拉寄存器和控制寄存器设置
S3C2440A 包含了130 个多功能输入/输出口引脚并且它们为如下显示的八个端口:
– 端口A(GPA):25 位输出端口
– 端口B(GPB):11 位输入/输出端口
– 端口C(GPC):16 位输入/输出端口
– 端口D(GPD):16 位输入/输出端口
– 端口E(GPE):16 位输入/输出端口
– 端口F(GPF):8 位输入/输出端口
– 端口G(GPG):16 位输入/输出端口
– 端口H(GPH):9 位输入/输出端口
– 端口J(GPJ):13 位输入/输出端口
每个端口都可以简单的由软件配置为各种系统配置和设计要求。你必须在开始主程序前定义使用的每个引脚的
功能。如果没有使用某个引脚的复用功能,这个引脚可以配置为I/O 口。
端口控制描述
端口配置寄存器(GPACON 至GPJCON)
S3C2440A 中,大多数端口为复用引脚。因此要决定每个引脚选择哪项功能。PnCON(引脚控制寄存器)决
定了每个引脚使用哪项功能。
如果在掉电模式中PE0 至PE7 用于唤醒信号,这些端口必须配置为输入模式。
端口数据寄存器(GPADAT 至GPJDAT)
如果端口配置为输出端口,可以写入数据到PnDAT 的相应位。如果端口配置为输入端口,可以从PnDAT 的相
应位读取数据。
端口上拉寄存器(GPBUP 至GPJUP)
端口上拉寄存器控制每个端口组的使能/禁止上拉电阻。当相应位为0 时使能引脚的上拉电阻。当为1 时禁止
上拉电阻。
如果使能了上拉电阻,那么上拉电阻与引脚的功能设置无关(输入、输出、DATAn、EINTn 等等)
杂项控制寄存器
此寄存器控制睡眠模式,USB 引脚和CLKOUT 选择的数据端口上拉电阻。
外部中断控制寄存器
24 个外部中断由各种信号方式触发。EXTINT 寄存器为外部中断请求配置信号触发方式为低电平触发、高电平
触发、下降沿触发、上升沿触发或双边沿触发。
由于每个外部中断引脚包含一个数字滤波器,中断控制可以确认请求信号是否长于3 个时钟。
EINT[15:0]用于唤醒源
下面是结合具体的程序(用的是FL2440开发板):
一般步骤:
上拉寄存器和控制寄存器设置
相关文章推荐
- ARM9(S3C2440)的实时时钟(RTC)——理论知识及程序实例讲解
- 十 ARM9(2440)的IIC——理论知识及程序实例
- 一 ARM9(S3C2440)的中断系统——程序实例讲解
- 三 ARM9(S3C2440)的串口UART——理论知识
- 三 ARM9(S3C2440)的串口UART——程序实例讲解
- ARM9(S3C2440)的LCD显示——程序实例讲解
- 一 ARM9(S3C2440)的中断系统——理论知识
- 〖JAVA IO〗_实例操作—单人信息管理程序笔记
- 〖JAVA IO〗_实例操作:投票程序笔记
- 嵌入式Linux知识:S3C2440上 MMC/SD卡驱动实例开发讲解(1)
- 〖JAVA IO〗_实例操作—单人信息管理程序笔记
- 嵌入式Linux知识:S3C2440上 MMC/SD卡驱动实例开发讲解(2)
- oracle实例恢复 详解理论知识
- Java IO操作——投票程序实例
- EXE程序间通信利器--命名管道(1):基础知识及管道实例
- 〖JAVA IO〗_实例操作:投票程序笔记
- 利用IO的知识,实现一个程序列出某个目录下的所有的”.java”文件。
- Java IO ——实例操作:单人信息管理程序
- 程序常用理论知识,不记编号,持续更新中。。。
- 微信小程序 SocketIO 实例讲解