首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微控制器的每一个引脚都与寄存器相关联吗?

微控制器的每一个引脚都与寄存器相关联吗?
EN

Stack Overflow用户
提问于 2020-02-07 12:15:15
回答 3查看 194关注 0票数 0

我是嵌入式系统开发领域的初学者。我想就以下问题作出一些澄清。

  1. 是与寄存器相关联的微控制器的每一个引脚(从这里称为mc)?
  2. 是mc内部分配的一对一的
  3. 端口(或一组引脚)吗?
  4. 是否只能将单个引脚设置为低或高?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-07 12:27:40

  1. No.一些引脚根本不与寄存器相关联,例如Vcc和GND,如果它们没有作为GPIO的双重用途,它也适用于时钟/振荡器和复位引脚。如果一个引脚与寄存器相关联,它通常与多个寄存器相关联:一个用于确定IO方向,一个用于读取输入,一个或多个用于设置输出。对于I2C、SPI、UART引脚,其关联是间接的,即寄存器主要控制I2C/SPI/UART控制器,而后者又与引脚相关联。
  2. I不明白
  3. 的问题: GPIO引脚可以设置为输入,可以设置为高状态下的输出(传递电流或弱向上),可以作为输出处于低状态(源电流或弱拉),或者处于开-漏状态(通常类似于输入模式)。一个引脚也可以配置为I2C/SPI/UART控制器的一个或DAC (输出GND和Vcc之间的可变电压)。

票数 4
EN

Stack Overflow用户

发布于 2020-02-07 15:24:43

除了电源和时钟引脚等基本功能外,单片机内部还有许多硬件外设。硬件外设是一种类似于GPIO (通用输入/输出)、ADC、UART、SPI等的硬件外设,每个硬件外设都有许多可能的引脚,可以将其功能路由到其中。

传统上,这些都是固定的-如果你想要UART Tx,那么你总是会得到它的一些固定的引脚号码,拿走或离开它。现在,大多数MCU在内部是相当灵活的,允许您将硬件外围功能重新路由到几乎任何您喜欢的引脚。

在任何一种情况下,多个硬件外设可以共享相同的引脚,然后是特定于单片机的优先。例如,默认情况下GPIO可以出现在引脚上,但是如果您启用UART,那么MCU可能会声明您在该引脚上获得了UART Tx。

至于称为GPIO的硬件外围设备,它们几乎总是分组在端口中,其中每个端口由多个引脚组成。大多数情况下,端口寄存器要么是8位,要么是CPU字长的大小。各个端口寄存器中的每个位对应于一个引脚。

您将有一个端口数据寄存器,它是对引脚的实际读/写,数据方向寄存器,说明输入或输出,然后各种其他寄存器中断,拉电阻器启用等。

票数 3
EN

Stack Overflow用户

发布于 2020-02-20 10:46:20

  1. 不是所有的引脚,而是所有的IOs (输入/输出)都有一个特定的寄存器。
  2. 每个IO都有一组特定的寄存器。但是,一些寄存器可能包括影响IO或所有IOs.
  3. 的特定位,这取决于微
  4. 的设计。

我强烈建议您阅读一些嵌入式硬件/软件书籍(例如,新知识,所有用于嵌入式系统的书籍)和数据表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60113314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档