KEAZ128学习(三)--- GPIO和PORT
1、开发平台使用
- 山外KEAZ128核心板(使用Jlink解除保护)
- 使用Keil 5.25
2、PORT描述
PORT也叫做端口控制器,在NXP上,GPIO的控制是分成PORT和GPIO两个部分进行控制的,即使是在Kinetis K60上也一样。
在KEAZ128上,PORT的控制主要有:
- 端口数据及数据方向
- 内部上拉使能
- 输入干扰滤波设置
- 高电流驱动
- 停止模式
习惯于使用ST的朋友,看到这个一定会感到很陌生,毕竟ST上要么没有这些功能,要么就PORT和GPIO的功能都写在一起了。因为NXP这样的寄存器设计,也造就了IO口的高灵活应用。对于做量产产品的客户,输入干扰滤波设置能够很好的保证了EMC测试的时候能通过。在初始上电时,除了几个默认IO,比如SWD接口等等,几个特殊接口之外,其余未配置的IO口会被默认为高阻态(Hi-Z)。
3、GPIO描述
说到GPIO并不会觉得陌生,即通用输入输出,在KEA的GPIO中,有如下功能:
- 在所有数字引脚重用模式中,输入数据寄存器引脚可见。
- 带有相应的设置/清除/反转寄存器的输出数据寄存器引脚。
- 数据方向寄存器引脚。
- 以零等待状态(IOPORT)访问 GPIO 寄存器。
GPIO的时钟挂在系统时钟上,每个功能都使用单独的寄存器进行控制,GPIO寄存器如下:
PDOR
PSOR
PCOR
PTOR
PDIR
PDDR
PIDR
对应的相关描述,查看数据手册即可。
KEA的GPIO端口有三组,GPIOA,GPIOB,GPIOC。但是IO端口则有PTA PTB PTC PTD PTE PTF PTG PTH PTI,以8位的形式组合在GPIO上(这设计真觉得有点恶心。。)。因此在编程中,需要自己额外定义好PORT端口,以及GPIO_PIN。
4、GPIO输入输出配置
我觉得NXP的头文件还是很良心的(虽然我们自己也会这样写),它帮我们定义好了相关寄存器的位带操作,如图:
这仅仅是GPIO的,在’'SKEAZ1284.h"这个头文件中,基本上涵盖了KEA所有的寄存器位带定义,寄存器操作起来十分方便,且很直观。而GPIO的配置功能,只需要根据自己的要求,先配置好PORT,再配置GPIO即可。
注:KEA在配置引脚输入输出时,并没有像Kinetis K60那样需要先开启时钟、清除DMA中断标志等操作,可直接进行寄存器操作,如:
GPIO_PDOR_REG(GPIOA) |= (1<<7);
GPIO_PDDR_REG(GPIOA) |= (1<<7);
在配置输入输出之前,应该先配置IO的上拉下拉、是否开漏等等,再进行IO的输入输出的初始化。
KEAZ128学习(三)--- GPIO和PORT相关推荐
- 华芯微特SWM181学习笔记--GPIO应用与环境搭建
华芯微特SWM181 系列 32 位 MCU(以下简称 SWM181)内嵌 ARM® CortexTM-M0 内核, SWM181 支持片上包含精度为 1%以内的 24MHz.48MHz 时钟,并提供 ...
- RT-1052学习笔记 - GPIO架构分析
RT-1052学习笔记 - GPIO架构分析 一.RT1052之GPIO与IOMUX 二.GPIO架构分析 分析GPIO的外设框架 库函数操作 1.初始化MUX 2.初始化PAD 3.初始化GPIO外 ...
- 新唐芯片学习笔记——GPIO
新唐芯片学习笔记--GPIO 概述 NuMicro®NUC029 最多有40个通用I/O引脚,这些引脚和其它功能共享.40个引脚分为6个端口,分别命名为P0, P1, P2, P3, P4和P5,每个 ...
- STM32学习笔记---GPIO
STM32的学习笔记-GPIO 我使用的是STM32F401ZGT6,有7组IO口,每组16个引脚,共112个引脚. 因为太菜了,确实容易出错,还请赐教 参考官方文档:八种IO口模式区别 结构原理 该 ...
- ElasticSearch学习(三)——Windows集群部署
文章名称 地址 ElasticSearch学习(一)--概述 前往 ElasticSearch学习(二)--索引.文档简单操作 前往 ElasticSearch学习(三)--Windows 集群部署 ...
- Redis6入门学习(三)--Redis_Jedis、事务、LUA脚本
title: Redis6入门学习(三) 文章目录 title: Redis6入门学习(三) **Redis_Jedis_测试** **Jedis所需要的jar包** **连接Redis注意事项** ...
- 统计学习三要素 模型+策略+算法
统计学习方法都是由模型. 策略和算法构成的. 即统计学习方法由三要素构成, 可以简单地表示为:方法=模型+策略+算法 模型 统计学习首要考虑的问题是学习什么样的模型. 在监督学习过程中, 模型就是所要 ...
- 深度学习三巨头也成了大眼萌,这个一键转换动画电影形象的网站竟因「太火」而下线...
机器之心报道 作者:魔王.杜伟 想不想在动画电影中拥有自己的角色?这个网站一键满足你的需求,不过竟因流量太大成本过高而下线. 近期热映的电影<花木兰>总是让人回想起 1998 年上映的同名 ...
- 2020届 AAAI Fellow名单新鲜出炉!!!深度学习三巨头终于齐聚
点击上方"深度学习技术前沿",选择"星标"公众号 资源干货,第一时间送达 AAAI 是国际人工智能领域最权威的学术组织,Fellow 是该学会给予会员的最高荣誉 ...
- HTTP学习三:HTTPS
HTTP学习三:HTTPS 1 HTTP安全问题 HTTP1.0/1.1在网络中是明文传输的,因此会被黑客进行攻击. 1.1 窃取数据 因为HTTP1.0/1.1是明文的,黑客很容易获得用户的重要数据 ...
最新文章
- python类方法调用装饰_Python3 @classmethod 函数装饰器 声明一个类方法
- Learn Java - Chapter 1 变量(Variables)-数组(Arrays)
- 新手一看就懂的线程池
- java 实现动画_java编程加载窗口,实现动画
- 安全也要“易”,谈NAC的硬件化
- 我抓到bit哥了,嘿嘿嘿(5)
- dd命令打包多个文件_linux的tar命令详情;linux多个文件压缩打包到一个压缩文件...
- AS3.0 侦听器传参的方法
- Python字符的转义
- SpringCloud——服务短路
- [英中双语] Pragmatic Software Development Tips 务实的软件开发提示
- 【ResNet】Pytorch从零构建ResNet18
- 德歌:阿里云RDS PG最佳实践
- python实训报告5000字_实训总结5000字
- 深度学习之目标检测--Pytorch实战
- 微信小程序开发与oss防盗链
- 多线程应用_左圆右方
- bim翻模教程:如何控制revit中的填充图案和构件显示隐藏
- YOLO v5 检测摄像头但却不显示检测图像 一招拿下
- Win10桌面隐藏显示版本号
热门文章
- 亚马逊云科技宣布Amazon Nimble Studio正式可用 云上搭建影像内容工作室仅需几小时
- java将u开头的是什么编码_十六进制“\u”开头字符串的转码
- 英特尔傲腾,给内存和存储间加点“料”
- 基于JAVA农业信息化服务平台计算机毕业设计源码+数据库+lw文档+系统+部署
- kubernetes 详解(下)
- 利用opencv拼接图像视频摄像头进行录像
- springboot 使用@Bean 好处与坏处
- 《海边的卡夫卡》--[日]村上春树
- 专题页面该怎么优化才对?
- SEM最核心的部分专题页:如何扒专题页面?(古志强网络营销师)