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.

[参考译文] LP-AM243:如何使用 ADC0_AIN 作为数字输入

Guru**** 2463730 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1470446/lp-am243-how-to-use-adc0_ain-as-digital-input

器件型号:LP-AM243
主题中讨论的其他器件:SysConfig

工具与软件:

嗨、团队:

我开发了 AM243x-LP 的 SDK、

我曾尝试使用 ADC0_AIN0 (GPIO1_80)~  ADC0_AIN7 (GPIO1_87)作为数字输入。

尽管可使用其他 GPIO、但  ADC0_AIN 不工作。

请告诉我不同之处。

此致、

小山

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

    嗨、Oyama-San、

    理想情况下、这样应该可行。能否请我提供有关您的测试的更多详细信息、以及如何验证 AIN0是否不起作用、我可以尝试在最后进行测试以验证相同。

    此致、

    开会。

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

    大家好、

    我使用"GPIO_INPUT_INTERRUPT"、将 SysConfig 中的 GPIO 外设

    并通过电缆连接+3.3V 和目标引脚。

    例如、更改为 J3引脚以及插头和拔下电缆时、该方法有效。

    但是、更改为 ADC0_AIN0/H21引脚时、这个方法不起作用。

    此致、

    小山

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

    您好、 Oyama、

    将 ADC 引脚配置为 GPI、然后介绍了过程。

    您可以点击以下链接、如果您遇到任何问题、仍请告知我们。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1424673/am6442-where-are-adc0-related-ctrlmmr_padconfig-registers-specified-in-trm

    此致、

    Anil。

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

    Anil、您好!

    我尝试在解锁 受写保护的分区1寄存器后写入 GPI_MODE_EN。

    我确认了解锁位设置1、但我无法向 CTRLMMR_ADC0_CTRL 寄存器写入任何值。

    「你知道吗?

        #define    CTRLMMR_LOCK1_KICK0  (0x04505008)
        #define    CTRLMMR_LOCK1_KICK1  (0x0450500C)
        #define    CTRLMMR_ADC0_CTRL    (0x43004710)
        #define    GPI_MODE_EN_BITMASK  (0x0001000)
    
        uint32_t   ctrlmmr_ADC0_ctrl_value = 0;
        uint32_t   KICK_KYE0 = 0x68EF3490;
        uint32_t   KICK_KYE1 = 0xD172BC5A;
    
        memcpy((void *)CTRLMMR_LOCK1_KICK0,(void *)&KICK_KYE0,4);
        memcpy((void *)CTRLMMR_LOCK1_KICK1,(void *)&KICK_KYE1,4);
    
        memcpy((void *)&ctrlmmr_ADC0_ctrl_value,(void *)CTRLMMR_ADC0_CTRL,4);
        ctrlmmr_ADC0_ctrl_value=ctrlmmr_ADC0_ctrl_value+GPI_MODE_EN_BITMASK;
        memcpy((void *)CTRLMMR_ADC0_CTRL,(void *)&ctrlmmr_ADC0_ctrl_value,4);

    此致、

    小山

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

    嗨、Oyama-San、

    我正在将该主题分配给域专家、请等待他们的回复。

    此致、

    开会。

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

    嗨、Oyama-San、

    请使用下面的代码并尝试使用。

    对我来说、它工作正常、我能够在16位位置使它处于高电平。

        /* set timer clock source */
        SOC_controlModuleUnlockMMR(SOC_DOMAIN_ID_MAIN, 1);
        *(volatile uint32_t*)(0x43004710) = (1U<<16U);
        SOC_controlModuleLockMMR(SOC_DOMAIN_ID_MAIN, 1);

    此致、

    Anil。