2010-10-07 35 views
0

我正在使用PIC24FJ64GA002单片机的项目。 我正在使用bit-banged串行通信功能,它将使用一根线发送数据,然后切换到接收模式以在同一引脚上接收数据。一个单独的引脚将用于时钟,这将始终由一个不同的板(总是一个输入)控制。我想知道是否有一种方法可以将开路集电极操作的引脚配置为可用作输入和输出,或者每次从阅读到写入时都必须更改引脚配置?为输入和输出配置PIC引脚

+0

chiphacker.com!但通常情况下,您必须重新编程芯片来切换引脚方向。 – Marty 2010-10-07 21:06:27

回答

0

您需要每次使用TRIS寄存器更改引脚方向。如果引脚设置为输出,读PORT寄存器很可能只会告诉你什么级别的驱动引脚(假设引脚有高阻抗)。如果引脚被设置为输入,您将无法驱动所需的输出值。 此外,请确保您使用PORT寄存器读取传入数据,但使用LAT寄存器输出数据。这确保了如果您的代码(我假设您在这里用C语言编程)转换为读取 - 修改 - 写入的bset/bclr/btgl指令,则不会遇到任何问题。如果您使用汇编程序编写程序,则适用相同的规则,但您知道何时使用这些R-M-W类型指令。如果你想要更多的推理,请询问。