首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ARM Cortex M3系列GPIO口介绍(工作方式探讨(2)

ARM Cortex M3系列GPIO口介绍(工作方式探讨(2)

2.1  GPIO端口方向寄存器FIOxDIR(FIO0DIR??FIO4DIR- 0x2009 C000??0x2009 C080)
         当引脚被配置为 GPIO功能时,该寄存器可用来控制引脚的方向。勿必根据引脚功能来设置每个引脚的方向。
注:GPIO引脚 P0.29和P0.30 与USB D+/-引脚共用,并且具有相同的方向。如果FP0DIR位29或位30在FIO0DIR寄存器中被配置为零,则P0.29 和P0.30都为输入。如果FP0DIR位29和位30被配置为1,则P0.29和P0.30都为输出。

高速GPIO端口方向寄存器位描述

符号

描述

复位值

31:0(字长数据)

FP0DIR

FP1DIR

FP2DIR

FP3DIR

FP4DIR

0


1

控制的引脚为输入引脚
控制的引脚为输出引脚

0


字和半字的操作基本类似,只是可以通过8位寄存器或者16位的寄存器分别控制方向而已,这里不再解释,请参看《深入浅出Cortex-M3 LPC1700》.

2.2  GPIO端口输出设置寄存器FIOxSET(FIO0SET??FIO7SET - 0x2009 C018??0x2009 C098)
当引脚在输出模式中被配置为 GPIO 时,该寄存器在端口引脚产生高电平输出。向该寄存器的某些位写入“1”时,对应的引脚产生高电平。写入“0”无效。如果需要引脚输出低电平或第二种功能,那么写 1 到 FIOxSET 的相应位无效。 读FIOxSET 寄存器返回该寄存器的值,该值由前一次对 FIOxSET 和 FIOxCLR(或前面提到的 FIOxPIN)的写操作确定,它不反映任何外部环境对 I/O引脚的影响。 通过 FIOxSET 寄存器访问的端口引脚受到 FIOxMASK 寄存器相应位的限制。

高速GPIO端口输出设置寄存器位描述

符号

描述

复位值

31:0(字长数据)

FP0SET

FP1SET

FP2SET

FP3SET

FP4SET

0


1

控制的引脚输出不改变
控制的引脚输出被设为高电平

0


2.3  GPIO端口输出清零寄存器FIOxCLR(FIO0CLR??FIO07CLR - 0x2009 C01C??0x2009 C09C)
当引脚在输出模式中被配置为 GPIO 时,该寄存器在端口引脚产生低电平输出。向某些位写入“1”会使相应的引脚产生低电平,同时清零 FIOxSET 寄存器的相应位。写入“0”无效。如果引脚被配置为输入或其它功能,那么写 FIOxCLR 对引脚没有影响。 通过FIOxCLR寄存器访问的端口引脚受到FIOxMASK寄存器相应位的限制.

高速GPIO端口输出清零寄存器位描述

符号

描述

复位值

31:0(字长数据)

FP0CLR

FP1CLR

FP2CLR

FP3CLR

FP4CLR

0


1

控制的引脚输出不改变
控制的引脚输出被设为低电平

0

继承事业,薪火相传
返回列表