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