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.

[参考译文] CC2340R5:如何将 IO 端口设置为输入高阻抗

Guru**** 1751730 points
Other Parts Discussed in Thread: CC2340R5
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1415693/cc2340r5-how-to-set-the-io-port-to-input-high-impedance

器件型号:CC2340R5

工具与软件:

在 CC2340R5 SimpleLink 无线 MCU 器件版本 B 的最新勘误表中提到、将 GPIO 设置为高阻抗状态会导致高电平电压波动。

我们要核实这一问题的影响。 首先、我们要将 GPIO 设置为高阻抗状态。 您能否确认以下设置是否会将 GPIO 配置为高阻抗? 如果没有、我应该如何设置它? (使用 IAR 开发环境和 SDK 8.10)

// Possible GPIO configurations
#define IOC_INPUT_TRISTATE                                                                                   \
  (IOC_IOC12_IOCURR_CUR_2MA | IOC_IOC12_IOSTR_AUTO | IOC_IOC12_PULLCTL_PULL_DIS | IOC_IOC12_SLEWRED_REDUCED | IOC_IOC12_HYSTEN_DIS | IOC_IOC12_EDGEDET_EDGE_DIS | IOC_NO_WAKE_UP | 
   IOC_IOC12_IOMODE_NORMAL | IOC_IOC12_INPEN_EN)
   
  // Get the register address.
  u32Reg = IOC_ADDR(u32PinId);

  // Configure the port and configuration.
  HWREG(u32Reg) = IOC_INPUT_TRISTATE | u32PortId;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我认为可能是对勘误项的误解。 勘误问题与 I2C 等开漏输出的实现方式有关。

    可以通过将输出设置为使用开漏的 I2C 来自行评估此勘误项。 在开漏中、有两种状态:输出低电平和高阻抗。 当输出为高阻态时、总线由上拉电阻器驱动为高电平。 在从低电平转换到开漏期间、就会遇到该问题。 一种简单的方法是使用其中一个 I2C 示例并发送一些数据。 您可以在 LaunchPad 或您自己的硬件上进行评估。 您应该注意到、事件发生的时间不到2ns、因此您需要电容非常低的示波器探针来查看任何东西。

    周杰