我想知道在微控制器的 IO 端口的上下文中“替代功能”指的是什么。
我不需要知道在连接到外围设备时如何激活它,但我想知道它到底是什么以及我们为什么需要它。
我想知道在微控制器的 IO 端口的上下文中“替代功能”指的是什么。
我不需要知道在连接到外围设备时如何激活它,但我想知道它到底是什么以及我们为什么需要它。
您的微控制器的许多引脚具有不同的功能。“正常”功能指的是 GPIO,通用输入/输出。在这种情况下,您可以通过写入和读取相关寄存器来直接使用这些引脚。
“备用”功能是指其他功能,可能包括 I 2 C、SPI、USART、CCP、PWM、时钟、ADC 等……在备用功能中如何控制引脚取决于外设,但它通常归结为写入和读取特殊功能寄存器(SFR);外围设备负责其余的工作。
复位后哪个功能是标准功能取决于(并不总是 GPIO!),您可以在相关数据表中找到。大多数情况下,您可以即时选择要使用的功能,以便在外围设备之间切换。
通过将一个引脚用于多个外围设备,您可以制造出具有非常多功能的微控制器。但是,因为您大部分时间都希望该外设始终位于该引脚上(并且不想即时切换功能),所以您不能在一个程序中使用所有外设,或者至少不能同时使用时间。另一方面,无论如何,这并不是经常需要的。
正如 Connor指出的那样,“备用功能”也可以指代其他东西,只是在稍微不同的上下文中:这里不是关于你在引脚上放置什么功能,而是关于你将什么引脚用于功能。这称为外设引脚选择,基本上意味着您可以选择外设使用的引脚。例如,您可以通过 RA1 和 RA2或通过 RB1 和 RB2 执行 RS232。
有关更详细的描述,请参阅 Connor 的回答(并为此投票支持他)。
除了@CamilStaps 答案之外,还有另一个上下文,其中“备用引脚功能”是一个常用术语。
一些微控制器可以选择在多组 IO 线之间切换其内部外围设备。这样,如果您想使用其功能映射到同一组引脚的内部模块(SPI、I2C 等),您可以避免出现问题。
通常有一个控制寄存器来确定各种外设映射到哪一组引脚。
我知道我曾使用过具有此功能的微控制器,但如果我能记住具体的部件号,我会被诅咒的。
编辑:找到它——它在许多 PIC24 和 dsPIC 部件上都可用:
他们称之为“外设引脚选择”,但它基本上是一种配置备用引脚功能的机制。