将Atmel IO引脚从输入到输出更改为三态即时

时间:2012-07-17 21:04:23

标签: io atmel

我是Google-d out。所以,StackOverflow的亲爱的朋友们,是否有可能将Atmel系列微处理器上的IO引脚(例如Atmel 165)从输入更改为输出,或者从输出更改为三态,或者从输出更改为三态到输入以及任何或所有这些相反?

并行问题:是否有Atmel程序员/语言支持或不支持切换IO引脚的“工具”?如果我要在Google上搜索相关信息,这个主题(更改引脚方向)是否具有比“将输入引脚更改为输出引脚”+ Atmel更易于搜索的名称?

2 个答案:

答案 0 :(得分:3)

通过更改3个控制寄存器中各个位的值来配置引脚的I / O方向。此文档位于此doc的第12.2节(从第61页开始)。

例如,要将PA1设置为三态输入,需要清除DDRA和PORTA中的相应位。在C:

PORTA &= !(1<<PA1)
DDRA &= !(1<<DDA1)

答案 1 :(得分:2)

是的,您可以随时更改引脚配置。我从来没有听说过一种不允许你切换引脚配置的语言。

只需按照芯片文档中列出的步骤更改引脚配置即可。您基本上只是将值写入该端口的相应数据方向寄存器。见data sheet的第12.4节。在C中,通常像DDRC = 0;一样简单地将所有端口C引脚设置为输入。

数据表详细介绍了每个端口的功能以及如何在12.4.2到12.4.22节中介绍它们。