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.

[参考译文] TM4C123GH6PGE:启用内部上拉电阻器

Guru**** 2390935 points
Other Parts Discussed in Thread: TM4C123GH6PGE

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1024904/tm4c123gh6pge-enable-internal-pull-up-resistors

器件型号:TM4C123GH6PGE

大家好!

我正在尝试在我的定制板上的 TM4C123GH6PGE 中启用内部上拉电阻器。


目的是、我将使用 MCU 的 PC 0-1-2-3引脚对10个多路复用器进行寻址。 当我将多路复用器连接到 MCU 时、地址引脚电压电平会降至2.4V、该电平不足以启用寻址。 我认为这个问题的原因是最新的。 还不够。 这就是我尝试启用这4个引脚的内部上拉电阻的原因。

我在电路板上使用的多路复用器数据表:  

https://www.mouser.com.tr/datasheet/2/916/74HC_HCT4067-1597878.pdf

首先、我将 PC 0-1-2-3引脚设置为 GPIO、然后 使用以下代码启用上拉电阻器、但没有任何变化、电压电平仍然为2.4V。

GPIOPadConfigSet(GPIO_PORTC_BASE, GPIO_PIN_3, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
GPIOPadConfigSet(GPIO_PORTC_BASE, GPIO_PIN_2, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
GPIOPadConfigSet(GPIO_PORTC_BASE, GPIO_PIN_1, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
GPIOPadConfigSet(GPIO_PORTC_BASE, GPIO_PIN_0, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);

您是否知道 这是 为此 MCU 启用内部上拉电阻的正确方法? 它是否有助于增加流经这些引脚的电流?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="490779" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1024904/tm4c123gh6pge-enable-internal-pull-up-resistors "]我认为此问题的原因是最新的。

    多路复用器是 CMOS 器件、 μA 的最大输入泄漏电流为±2.0 μ A。 即输入泄漏电流不应成为问题。

    如果多路复用 器没有 VCC 电源、则 TM4C123GH6PGE 的地址引脚可能会尝试通过钳位二极管为多路复用器供电、这可能是问题所在。

     多路复用器和 TM4C123GH6PGE 是如何供电的?

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

    切斯特、您好!

    多路复用器从其自己的 VCC 进行寻呼。 MCU 不会向多路复用器供电。

    因此、这意味着问题不是由于电流而发生的、我将重点介绍电路板上的另一个区域。

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

    您好、Ayhan、

    您是否已解锁这些引脚?

    有关详细信息、请参阅此常见问题解答: https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1020814/faq-how-to-get-locked-gpio-pins-on-tm4c123-devices-to-work

    此致、
    Ralph Jacobi

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

    您好 Ralph、

    是的、我使用以下代码解锁了 GPIO 的 JTAG 引脚

    HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY;
    HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x01;
    HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) &= 0xfe;
    HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY;
    HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x02;
    HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) &= 0xfd;
    HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY;
    HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x04;
    HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) &= 0xfb;
    HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY;
    HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x08;
    HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) &= 0xf7;
    HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY;
    HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x00;
    HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = 0;
    GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE, (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3));

    通过这种方式、我尝试了不同电路板的相同过程、并且它工作正常。 因此、我的板上没有 MCU 上。

    感谢您的帮助。