ZHCZ041B December 2023 – July 2025 CC2340R5-Q1
漏极开路配置可以驱动短高电平脉冲
每个 DIO 都可以使用 IOCx 寄存器配置为漏极开路模式。
但是,内部器件时序问题可能会导致 GPIO 在进入或退出高阻抗状态期间驱动逻辑高电平约 1ns-2ns。如果另一个驱动器同步驱动低电平,这种不必要的高电平可能会导致 GPIO 与线路上的另一个漏极开路驱动器发生争用。我们不希望出现此争用,因为它会对两个器件施加应力,并导致信号上出现短暂的中间电压电平。如果接收器逻辑中没有足够的逻辑滤波来滤除此短暂脉冲,则该中间电压电平可能会被错误地解读为高电平。
如果存在争用问题,请勿使用 GPIO 的漏极开路功能;请改为在软件中仿真漏极开路模式。通过将 GPIO 数据 (DOUT31_0.DIOx) 设置为静态 0 并驱动 GPIO 输出启用 (DOE31_0.DIOx) 以启用或禁用驱动低电平,可以实现漏极开路仿真。有关实现示例,请参阅以下代码。
#include <ti/devices/cc23x0r5/driverlib/gpio.h>
/* Call driver init functions */
GPIO_init();
//Set GPIO data (DOUT31_0.DIOx) to static 0
GPIOClearDio(CONFIG_GPIO_LED_0);
while(1) //loop below toggles the LED on and off every 1 second
{
GPIOSetOutputEnableDio(CONFIG_GPIO_LED_0, 1);
sleep(1);
GPIOSetOutputEnableDio(CONFIG_GPIO_LED_0, 0);
sleep(1);
}