我被谷歌淘汰了。因此,StackOverflow 的亲爱的朋友们,是否可以将 Atmel 系列微处理器(例如 Atmel 165)上的 IO 引脚从输入更改为输出,或从输出更改为三态,或从输出更改为三态再到输入以及任何或所有这些相反?
并行问题:是否有 Atmel 程序员/语言支持或不支持切换 IO 引脚的“工具”?如果我要在 Google 上搜索相关信息,这个主题(更改引脚方向)的名称是否比“将输入引脚更改为输出引脚”+Atmel 更易于搜索?
通过改变 3 个控制寄存器中各个位的值来配置引脚的 I/O 方向。这方面的文档在本文档的第 12.2 节(从第 61 页开始)中。
例如,要将 PA1 设置为三态输入,则需要清除 DDRA 和 PORTA 中的相应位。在 C 中:
PORTA &= !(1<<PA1)
DDRA &= !(1<<DDA1)
是的,您可以随时更改引脚配置。我从未听说过不允许您切换引脚配置的语言。
只需按照芯片文档中概述的程序来更改引脚配置即可。您基本上只需将一个值写入该端口的相应数据方向寄存器。请参阅数据表的第 12.4 节。在 C 语言中,通常DDRC = 0;
只需将所有端口 C 引脚设置为输入即可。
数据表在第 12.4.2 到 12.4.22 节中介绍了每个端口的功能以及如何获得它们。