EFM32系列32位MCU的GPIO配置,读取/写入,外设功能

描述

本文主要针对Silicon Labs(亦称芯科科技) EFM32系列32位MCU的GPIO配置,读取/写入,外设功能,外部中断功能以及GPIO引脚作为外设反射系统(PRS)等功能进行概要描述。与此相关的功能演示可以在Silicon  Labs推出的EFM32入门套件主板上实现。与通用型MCU应用类似,EFM32系列每个端口最多容纳16个引脚,命名规则为Pxn,其中x表示端口(A,B,C ...),n表示引脚编号(0,1,...,15),其中每个端口都有独立的寄存器控制单元,用于功能的配置和数据读写等。

GPIO配置输出端,通过写入DOUT寄存器中的相应位来驱动引脚,其输出可以配置为线或,开漏或者具有特定驱动属性的推挽式输出。输入配置,其输入的引脚状态反映在其对应的DIN寄存器中,可为每个输入引脚启用可编程的上拉或下拉功能,另外还有滤波器功能可选,可以抑制长达50 ns的毛刺。在实际的应用设计中,为避免意外影响GPIO的配置,可以按引脚锁定其GPIO配置。另外,针对部分外设线路有上、下拉电阻的配置需求,这就需要与MCU GPIO上、下拉功能的协调使用。

EFM32系列的三个典型寄存器配置:GPIO_Px_MODEL(端口引脚0-7)或GPIO_Px_MODEH(端口引脚8-15),GPIO_Px_DOUT和GPIO_Px_CTRL。为将端口C中的引脚5配置为具有上拉和滤波器的输入功能代码。在实际的功能开发过程中,为提高代码的易读性与可移植性,可以自定义相关的高级集成化功能。

外设配置方面,需要根据数据手册具体描述确定I / O口的多路复用和GPIO可用性,外设功能通常会复用到几个不同的引脚上。一般来说,MCU预设的功能外设都有一个专用的ROUTE寄存器来控制实现,其确定所有相关I / O的位置以及这些I / O的使能控制。另外,部分较新的产品具备更灵活的配置方案,如外设设有一ROUTEPEN寄存器,以及ROUTELOCn寄存器,可以在每个引脚上启用和禁用I / O,允许外设I / O的映射位置多达 32处。

中断方面,EFM32系列具备两种不同的中断请求机制。第一个将具有相同编号的所有引脚分组到一个外部中断请求中。第二个为EFM32 Gemstones提供的更为灵活的中断请求机制,其通过端口映射两位MSBs来匹配外部中断请求信号。

外设反射系统(PRS)允许外设在没有MCU干预的情况下进行数据通信,比较适合用于MCU处于低能耗运行模式下。通俗来说,PRS系统基于“生产者—消费者”的机制进行工作,其发送反射信号的为生产者,接收反射信号的为消费者。PRS系统将生产方信号映射到对应消费者,消费者会根据接收的信号实现对应的功能。在具体的项目开发中,PRS 系统的支持的操作模式有同步和异步两种,同步模式需要工作在 HFPERCLK 时钟下,可在 EM0 和 EM1 模式下使用;异步模式不需要 HFPERCLK 时钟的参与,可在 EM0~EM3 模式下工作(部分外设支持异步模式)。另外,PRS 系统运行涉及的寄存器主要为PRS_SWPULSE 和 PRS_SWLEVEL两类。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分