我正在开发一个使用PIC24FJ64GA002 mcu的项目。 我正在研究一种有点串行的串行通信功能,它将使用一根线发送数据,然后切换到接收模式以在同一引脚上接收数据。一个单独的引脚将用于时钟,它将始终由不同的板(始终是输入)控制。我想知道是否有一种方法可以将引脚配置为集电极开路操作,它可以用作输入和输出,还是每次从读取到写入时都必须更改引脚配置?
答案 0 :(得分:0)
每次使用TRIS寄存器都需要更改引脚的方向。如果引脚设置为输出,则读取PORT寄存器很可能只会告诉您驱动引脚的电平(假设引脚上有高阻抗)。如果引脚设置为输入,则无法驱动所需的输出值。 另外,请确保使用PORT寄存器读取输入数据,但使用LAT寄存器输出数据。如果您的代码(我假设您在此处用C编程)转换为bset / bclr / btgl指令(读取 - 修改 - 写入),这可以确保您不会遇到任何问题。如果您使用汇编程序编写,则适用相同的规则但您知道何时使用这些R-M-W类型指令。如果您想要更多推理,请询问。