第九章 I/O 端口 概述 S3C2410 有117 个多功能的输入输出引脚,这些端口是: — 端口A(GPA):23 个输出口 — 端口B(GPB):11 个输入输出口 — 端口C(GPC):16 个输入输出口 — 端口D(GPD):16 个输入输出口 — 端口E(GPE):16 个输入输出口 — 端口F(GPF):8 个输入输出口 — 端口G(GPG):16 个输入输出口 — 端口H(GPH):11 个输入输出口 每个端口可以根据系统配置和设计需求通过软件配置成相应的功能。在启动主程序之前,必须定义好每个引脚的功能。如果某个引脚不用作复用功能,则可以将它配置成 IO 脚。 初始的引脚状态被无缝配置好的以避免产生问题。 表 1 端口配置见英文版 Table 9-1. S3C2410A Port Configu ration 端口控制描述 端口控制寄存器(GPACON-BGHCON) 在 S3C2410 中,大部分端口都是复用的,因此需要决定每个引脚使用哪个功能。端口控制寄存器 PnCON 决定每个引脚的功能。 如果 GPF0 – GPF7 and GPG0 – GPG7 用于掉电模式的唤醒信号,这些端口必须被配置成中断模式。 端口数据寄存器(GPADAT-GPHDAT) 如果端口被配置成输出端口,可以向 PnDAT 中的相关位写入数据;如果端口被配置成输入端口,可以从 PnDAT 中的相关位读入数据。 端口上拉电阻寄存器(GPBUP-GPHUP) 端口上拉电阻寄存器控制每个端口组的上拉电阻的使能和禁止。当相关位为0,上拉电阻使能;当相关位为 1,上拉电阻禁止; 当端口上拉电阻寄存器使能时,不管引脚选择什么功能(输入、输出、数据、外部中断等),上拉电阻都工作。 外部中断控制寄存器(EXTINTN) 24 个外部中断可响应各种信号请求方式。EXTINTn 寄存器可以配置如下信号请求方式:低电平触发、高电平触发、上升沿触发、下降沿触发、双边沿触发。 这8 个外部中断引脚具有数字滤波器。(见 EINTFLTn 相关) 只有16 个外部中断引脚(EINT [15:0])被用于唤醒源。 掉电模式和 IO 口 所有的 GPIO 寄存器的值在掉电模式下被保存。这在时钟功率管理模块中的掉电模式下提到。 EINTMASK 不能禁止从掉电模式唤醒,但是如果 EINTMASK 屏蔽了EINT[15:4]中的 1 位,系统可以被唤醒,但是 SRCPND 中的 EINT4_7 bit and EINT8_23 bit不会在唤醒后被置 1。 IO 口控制寄存器 端口 A 控制寄存器(GPACON/GPADAT) 注意:ADDR[15:1]并没有端口寄存器,但是有对应的引脚,它们仅用作地址总线,而且 A 端口默认为 AD...