AURIX系列之TC275学习笔记(一):通用I/O端口(Ports)

通用I/O端口

端口引脚结构

在这里   插入图片描述
每个端口引脚可配置为输入或输出操作。 在输入模式下(复位后的缺省模式) , 输出驱动器关闭(高阻) , 引脚上的实际电压值由施密特触发器译成逻辑0 或1, 可从只读寄存器Pn_IN 中读出。 从引脚到输入寄存器Pn_IN 和到AltDataIn 的输入线功能与端口引脚的工作模式(输入或输出) 无关。这意味着当端口工作在输出模式时, 引脚电平可由软件从 Pn_IN 中读出、 外设可使用该引脚电平作为输入。

在输出模式下, 输出驱动器被激活,通过Pn_IOCR 寄存器使能或禁止输出驱动, 从而实现输入和输出模式的切换。Pn_IOCR 还用于控制输出驱动的类型; 当引脚用作输入时, Pn_IOCR 还决定是否使用内部弱上拉或下拉器件和引脚相连,

若引脚用作通用输出口, 软件控制(Pn_IOCR 寄存器) 复用器选通输出数据寄存器 Pn_OUT。由于软件可对 Pn_OUT 置位或清零, 因此它可直接影响引脚的状态。 若引脚用作片上外设的输出, 输出复用器会选通复用功能输出线 ALT1 - ALT3, 将其送至输出驱动电路。

用作通用输出线时, 端口上每个引脚的逻辑电平可独立被修改, 通过设置输出修改寄 存器Pn_OMR 中各引脚对应的控制位来实现。Pn_OMR 中的控制位可对Pn_OUT 寄存器中的对应位进行置位、 清零、 取反或保持不变。

寄存器

1.端口输入/输出控制寄存器(以下图为例)

在这里插入图片描述
端口输入/输出控制寄存器用于选择GPIO 端口引脚的输入输出驱动功能和特性。 通过寄存器的相应位域PCx(x = 0-15) 选择端口方向(输入或输出) 、 输入引脚的上拉或下 拉器件、 输出引脚的推挽或漏极开路功能。 每个32 位的端口输入/输出控制寄存器控制四条GPIO 端口线:
寄存器 Pn_IOCR0 控制 Pn.[3:0]端口线
寄存器 Pn_IOCR4 控制 Pn.[7:4]端口线
寄存器 Pn_IOCR8 控制 Pn.[11:8]端口线
寄存器 Pn_IOCR12 控制 Pn.[15:12]端口线
端口输入/输出控制寄存器(由位域PCx 组成) 的结构如下所示。 每个PCx 位域控制一条端口线Pn.x。

下图为根据设置PCX值来设置输入/输出功能
在这里插入图片描述
在这里插入图片描述

2.驱动模式寄存器

对于配置为output (PCx)的端口,可以通过相关的PDx位字段(寄存器Pn_PDR0/1)配置速度等级。(可参考手册)

在这里插入图片描述

3.引脚功能决策控制寄存器

TCC27x GPIO线的pad结构提供了选择数字输入或模拟ADC输入功能。
在这里插入图片描述

在这里插入图片描述

4.端口输出寄存器

Pn_IOCRx 选择某 GPIO 引脚用作输出时, 由端口输出寄存器决定该引脚的电平。若Pn_OUT.Px(x = 0-15) 置0, 则相应引脚输出低电平; 若Pn_OUT.Px(x = 0-15) 置1, 则相应引脚输出高电平。 请注意: 还可通过向端口输出修改寄存器Pn_OMR写入适当值单独置位/清零/取反Pn_OUT.Px。
在这里插入图片描述
在这里插入图片描述

5.端口输出修改寄存器(该寄存器与Pn_OUT.Px寄存器均改变端口输出,但功能不同)

端口输出修改寄存器可用于置位、 复位或取反端口输出寄存器中的相应位, 从而修改各端口线上的逻辑状态。
在这里插入图片描述
PCL位:端口n 置位位x
功能:设置这个位将清除或取反端口输出寄存器Pn_OUT中相应的位。
PRx位:端口n 复位位x
功能:设置这个位将在端口输出寄存器Pn_OUT中设置或取反相应的位
在这里插入图片描述

6.端口输出改变寄存器(以下局部图)

在这里插入图片描述
PSx位:端口n 置位位x
功能:置位该位将会置位端口输出寄存器Pn_OUT中的相应位。

在这里插入图片描述

7.端口输出清除寄存器

在这里插入图片描述
PCL位:端口n 置位位x
功能:设置这个位将清除端口输出寄存器Pn_OUT中相应的位。

在这里插入图片描述

8.端口输入寄存器

在这里插入图片描述

Px(x = 0-15) 该位指示输入引脚Pn.x 上的逻辑电平。
0B Pn.x 的输入电平为0
1B Pn.x 的输入电平为1

  • 8
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值