S32K144 GPIO外设分析

1. S32K144 GPIO外设特性

下面的内容来自于S32K用户手册的翻译,或者网上关于S32K系列的一些pdf文件介绍。有些内容可能会出现理解不到位或者翻译错误方面,如果大家有疑问最好可以查阅用户手册。

  • GPIO和PORT的数量

    从用户手册,对于PCR(引脚控制寄存器)的数量描述,如下表:

在这里插入图片描述

每一个引脚都有一个独立的 PCR 寄存器对应着,那么S32K144型号,对应的GPIO引脚数量有:18+18+18+18+17 = 89,就是说最多有89个引脚

然后PORT的数量,从上面表格也可以知道是:PORTA/PORTB/PORTC/PORTD/PORTE 一共是5个PORT

  • 每个引脚都能够产生中断请求,支持上升沿、下降沿、或者电平(高电平或者低电平)触发中断。

  • 每个引脚都能产生DMA请求。

  • 每个引脚都能在低功耗模式下唤醒MCU

  • 每个引脚都有数字滤波器

  • 可单独控制每个引脚的上下拉电阻

  • 每个IO引脚均可复用为多种功能模式

2. S32K144 GPIO外设相关的两个模块

打开 S32K 的用户手册,可以了解到与GPIO外设相关的有两个模块,分别是:PORT 和 GPIO。下图就是从用户手册截图的这两个模块章节目录:

在这里插入图片描述

从用户手册的介绍以及对应寄存器的描述,大概了解到这两个模块的作用是:

  • PORT:主要是上拉使能控制、引脚功能复用配置、引脚中断配置等功能。不过手册还有一些寄存器的功能还不清楚有什么用。
  • GPIO:就是控制GPIO口的数据输入输出方向、GPIO引脚高低电平的控制等等。

所以,我们在写代码控制GPIO时,需要配置这两个外设,才能正确配置GPIO引脚。

3. PORT模块寄存器

下图是PORT模块的寄存器映射表:

在这里插入图片描述

只是截图了一部分,PCR寄存器是有32个的,每个引脚都有一个对应的寄存器。

3.1 PORT_PCRn寄存器

每个PORT端口,最多都有32个PCR寄存器(不同型号实际数量不一样,前面有截图介绍),一个pin引脚有一个对应的PCR寄存器,所以一个PORT端口,最多可以支持32个引脚。

PCR寄存器位域描述。下面是PCR寄存器的位域截图:

在这里插入图片描述

位域名称R/W描述
0PSR/W上下拉选择
0:下拉
1:上拉
1PER/W上下拉使能
0:使能
1:使能
4PFER/W无源滤波器使能
0:使能
1:使能
6DSER/W引脚驱动能力配置
0:低驱动强度
1:高驱动强度
8-10MUXR/W引脚的复用功能配置。是配置位普通IO口,还是特定的复用功能引脚
15LKR/W锁定PCR寄存器。锁定之后,那么PCR寄存器无法被配置,直到下一次复位
16-19IRQCR/WI/O引脚中断配置。可配置DMA请求、中断触发模式(上升沿下降沿等)
24ISFR/W引脚中断状态标志位。该标志位由 IRQC 配置条件进行触发。硬件置位,软件清零。

3.2 PORT_GPCLR/GPCHR寄存器

全局引脚控制寄存器。每一个 PORT 都有对应的 PORT_GPCLR、PORT_GPCHR寄存器,PORT_GPCLR控制低16个pin引脚,PORT_GPCHR控制高16个pin引脚。这两个寄存器的操作只能是32位操作方式,不能按bit读写。

在这里插入图片描述

如果引脚对应的 GPWE 位写1,那么 GPWD 位配置对应引脚的 PCR 寄存器的值就会被更新。这个寄存器的主要作用就是,对引脚模式相同的配置,可以快速的配置多个引脚。

3.3 PORT_GICLR/GICHR寄存器

全局中断控制寄存器。每个 PORT 同样有这两个寄存器,作用和上面的全局引脚控制寄存器是一样的。对应相同中断模式的引脚配置,这个寄存器可以快速配置多个引脚

在这里插入图片描述

3.4 PORT_ISFR寄存器

Interrupt Status Flag Register,中断状态标志寄存器。这个寄存器记录着所有32个pin引脚的中断状态,当配置的中断发生时,对应的引脚的bit位会被硬件置1。软件写1,对该标志位清0。

还又一些是和数字滤波器有关的寄存器,不一一记录了,到时在代码中了解。

4. GPIO寄存器

GPIO模块寄存器,前面介绍过,主要就是输入输出数据寄存器、方向控制、输入使能控制等作用。下面是 GPIO 寄存器的内存映射表。

在这里插入图片描述

大概介绍下每个寄存器的作用。

  • PDOR:端口数据输出寄存器。就是输出引脚的值
  • PSOR:端口输出置位寄存器。就是设置引脚输出高电平的
  • PCOR:端口输出清除寄存器。设置引脚输出低电平
  • PTOR:端口输出翻转寄存器。配置输出引脚电平翻转,1->0,0->1
  • PDIR:端口数据输入寄存器。可以通过该寄存器读取对应引脚的输入电平
  • PDDR:端口数据方向寄存器。设置引脚是输入还是输出。
  • PIDR:端口输入使能寄存器。对应IO引脚位写1,那么这个引脚的输入功能就被禁止了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/43680.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【广州华锐互动】列车人员疏散VR虚拟演练系统

随着科技的不断发展,虚拟现实(VR)技术已经逐渐应用于各个领域。在火车站安全方面,为了提高旅客的安全意识和应对突发事件的能力,列车人员疏散VR虚拟演练系统应运而生。 列车人员疏散VR虚拟演练系统是一种基于虚拟现实技术的教育培训系统&…

15 QMessageBox消息对话框

错误提示对话框 信息提示对话框 循环对话框 默认是Yes和No,可以修改属性。第5个参数关联回车键 QMessageBox::Save | QMessageBox::Cancel 可以通过捕获按键获取点击结果 警告提示 代码: //QMessageBox 消息对话框//错误提示QMessageBox::critical(th…

老年公寓人员定位管理系统:提升安全与关怀的智能解决方案

老年公寓作为提供安全居住环境和关怀服务的重要场所,面临着人员管理和安全控制的挑战。为了解决这些问题,老年公寓人员定位管理系统应运而生。基于为提供全面的安全管理和个性化关怀服务,华安联大便通过老年公寓人员定位管理系统的技术原理、…

[数据结构 -- C语言] 二叉树(BinaryTree)

目录 1、树的概念及结构 1.1 树的概念 1.2 树的相关概念(很重要) 1.3 树的表示 2、二叉树的概念及结构 2.1 概念 2.2 特殊二叉树 2.3 二叉树的性质(很重要) 2.4 练习题 2.5 二叉树的存储结构 2.5.1 顺序存储 2.5.2 链…

微服务保护——Sentinel【快速入门】

一、雪崩问题🍉 (一) 什么是雪崩🥝 微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。服务D故障引起服务A故障,服务A引起其他服务故障,渐渐导致所有微服务都不可用。有人…

基础算法(三)

目录 一、双指针算法 二、位运算 三、区间合并 一、双指针算法 双指针算法模板: for(int i 0,j 0;i < n;i) {while(j < i && check(i,j)) j;//每道题的具体逻辑 } 1.1两个指针指向两个队列1.2两个指针指向一个队列 案例习题: 分割字符串 #include<…

4-2 3D images: Volumetric data Representing tabular data

本文所用到的资料下载地址 By stacking individual 2D slices into a 3D tensor, we can build volumetric data representing the 3D anatomy of a subject. We just have an extra dimension, depth, after the channel dimension, leading to a 5D tensor of shape N C D…

[MySQL]MySQL事务特性

[MySQL]MySQL事务 文章目录 [MySQL]MySQL事务1. 事务的概念2. 为什么会出现事务3. 事务的版本支持4. 事务的提交方式5. 事务常见操作方式6. 事务隔离级别事务隔离级别概念查看事务的隔离级别设置事务的隔离级别读未提交&#xff08;Read Uncommitted&#xff09;读提交&#xf…

【力扣算法20】之 8. 找出字符串中第一个匹配项的下标 (python方向)

文章目录 问题描述示例1示例2提示 思路分析代码分析完整代码详细分析运行效果截图调用示例运行结果 完结 问题描述 给你两个字符串 haystack 和 needle &#xff0c;请你在haystack字符串中找出needle字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 n…

htmlCSS-----浮动

目录 前言&#xff1a; 浮动 1.浮动的效果 2.浮动的特点 3.浮动的写法 4.浮动的原理 5.浮动的作用 6.案例 7.浮动的缺陷与解决方式 浮动问题 解决方式 8.补充说明 前言&#xff1a; 浮动是html里面重要的一部分&#xff0c;前面我们学习了三种元素的类型&#xff08;…

计科web常见错误排错【HTTP状态404、导航栏无法点开、字符乱码及前后端数据传输呈现、jsp填写的数据传到数据库显示null、HTTP状态500】

web排错记录 在使用javaweb的过程中会出现的一些错误请在下方目录查找。 目录 错误1&#xff1a;HTTP状态404——未找到 错误2&#xff1a;导航栏下拉菜单无法点开的问题 错误3&#xff1a;字符乱码问题 错误4&#xff1a;jsp网页全部都是&#xff1f;&#xff1f;&#x…

Golang并发控制

开发 go 程序的时候&#xff0c;时常需要使用 goroutine 并发处理任务&#xff0c;有时候这些 goroutine 是相互独立的&#xff0c;需要保证并发的数据安全性&#xff0c;也有的时候&#xff0c;goroutine 之间要进行同步与通信&#xff0c;主 goroutine 需要控制它所属的子gor…

Linux系统安装部署MySQL完整教程(图文详解)

前言&#xff1a;最近网上翻阅了大量关于Linux安装部署MySQL的教程&#xff0c;在自己部署的时候总是存在一些小问题&#xff0c;例如&#xff1a;版本冲突&#xff0c;配置失败和启动失败等等&#xff0c;功夫不负有心人&#xff0c;最后还是安装部署成功了&#xff0c;所以本…

Ubuntu 网络配置指导手册

一、前言 从Ubuntu 17.10 Artful开始&#xff0c;Netplan取代ifupdown成为默认的配置实用程序&#xff0c;网络管理改成 netplan 方式处理&#xff0c;不在再采用从/etc/network/interfaces 里固定 IP 的配置 &#xff0c;配置写在 /etc/netplan/01-network-manager-all.yaml 或…

文本预处理——文本处理的基本方法

目录 什么是分词jieba分词特性精确模式分词全模式分词搜索引擎模式分词使用用户自定义词典 命名实体识别词性标注 什么是分词 jieba分词特性 精确模式分词 import jieba content工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作 print(jieba.lcut(co…

一文了解Python中的while循环语句

目录 &#x1f969;循环语句是什么 &#x1f969;while循环 &#x1f969;遍历猜数字 &#x1f969;while循环嵌套 &#x1f969;while循环嵌套案例 &#x1f990;博客主页&#xff1a;大虾好吃吗的博客 &#x1f990;专栏地址&#xff1a;Python从入门到精通专栏 循环语句是什…

SpringBoot创建和使用

1.Spring Boot的优点 快速集成框架&#xff0c;Spring Boot提供了启动添加依赖的功能&#xff0c;用于秒级成各种框架。内置运行容器&#xff0c;无需配备Tomcat等Web容器&#xff0c;直接运行和部署程序。快速部署项目&#xff0c;无需外部容器即可启动并运行项目。可以完全抛…

概率论和随机过程的学习和整理--番外15,如何计算N合1的合成数量问题?

目录 1 目标问题&#xff1a;多阶2合1的合成问题 1.1 原始问题 1.2 合成问题要注意&#xff0c;合成的数量 1.3 合成问题不能用马尔科夫链来解决 2 方案1&#xff1a;用合成公式合成多次能解决吗&#xff1f; --不能&#xff0c;解决不了递归的问题 3 方案2&#xff0c;…

idea2021.安装pojie教程

1、下载ideaIU-2021.3应用包&#xff0c;点击finish 2、先关闭idea窗口&#xff0c;等会激活了脚本再运行打开。 3、双击运行install-current-user.vbs&#xff0c;等待一会会提示运行成功。 4、运行后&#xff0c;在文件中会多出一条配置 5、打开运行idea,输入激活码&#x…

如何使用curl下载github代码

首先通过chrome打开想要下载的源文件 如图&#xff0c;有那个下载图标时表示不需要鉴权即可下载&#xff0c;一般仓库都会开放只读权限&#xff0c;所以很大概率都有 比如我想下载这个crc32.c文件 那么我就需要知道它在哪个IP中&#xff0c;按下F12打开网络&#xff0c;点击下载…