工具与软件:
Im 尝试将 CC2640R2F 微控制器用作 tri 状态模式下的输出引脚时、在定制电路板上设置其中一个 DIO 引脚。 在技术参考手册中、它说"通过禁用输出缓冲器、相应的 I/O 引脚将处于 tri 状态(高阻抗)。 禁用输出缓冲器时、如果没有任何器件将 I/O 驱动至有效逻辑电平、则禁用输入缓冲器以避免过大的电流流过 I/O 输入缓冲器。" 输出和输入缓冲器到底是如何启用/禁用的?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
Im 尝试将 CC2640R2F 微控制器用作 tri 状态模式下的输出引脚时、在定制电路板上设置其中一个 DIO 引脚。 在技术参考手册中、它说"通过禁用输出缓冲器、相应的 I/O 引脚将处于 tri 状态(高阻抗)。 禁用输出缓冲器时、如果没有任何器件将 I/O 驱动至有效逻辑电平、则禁用输入缓冲器以避免过大的电流流过 I/O 输入缓冲器。" 输出和输入缓冲器到底是如何启用/禁用的?
尊敬的 Tamer:
TRM 的第11.6节 表示"默认情况下、I/O 驱动器(输出)和输入缓冲器(输入)在上电或复位时被禁用(tri 状态模式)、因此可安全地使 I/O 引脚保持未连接(悬空)。"
输出和输入缓冲器设置存在于 相关引脚的 IO 控制器的 IOCFGx 寄存器中。 以下是 用于控制 I/O 设置的 driverlib 和 TI Driver PIN (也提供 GPIO)库。
您可以查看 CC2640R2_LAUNCHXL.c gpioPinConfigs 和 BoardGpioInitTable 结构、了解有关默认引脚配置的更多信息。 示例默认情况下将未使用的 I/O 配置为最低功耗。
此致、
Ryan
您好、Ryan、
感谢您的快速响应和提供必要的库。
我已经在 Simple Peripheral 项目中实现了一个解决方案、其中 DIO9最初设置为低电平、然后在短暂延迟后切换至悬空(tri 状态)状态、在这些状态之间重复切换。
我已附上我的实施图像、其中包括:
电路板 GPIO 初始化表、用于在我的 main.c 代码中调用 PIN_INIT 时初始化引脚。
控制低→浮点转换的周期性任务。
initGPIO()
只需设置和打开引脚的函数(由我定义)。
您能否根据我打开、设置和关闭引脚的方式来确认我的方法是否正确? 具体而言、调用 PIN_close(hPin)
正确会将引脚转换为预期的高阻抗状态吗? 您会采取哪些不同的做法?