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.

[参考译文] MSP430FR5964:切换 ADC/GPIO 功能

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1315595/msp430fr5964-toggle-adc-gpio-functionality

器件型号:MSP430FR5964

您好!

每次采样后、我需要将 P1.1 (A1)从 ADC 切换到 GPIO。

当我设置 P1SELC |= BIT1时、恰好在我设置 ADC12CTL0 |= ADC12ENC | ADC12SC 之前、ADC 不工作。

当我 在代码的开头(恰好在 PM5CTL0 &=~LOCKLPM5之前)设置 P1SELC |= BIT1时、它就会工作。 但是、我无法即时更改 GPIO 功能。

有什么建议吗?

谢谢。

伊泰

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

    它以何种方式不起作用? 引脚实际上一直连接到 ADC、但如果 PSEL!= 3、施密特触发器仍处于使用状态、因此结果会无聊[参考数据表(SLASE54D)图9-3]。

    与 ADC 操作相关的 I 计数5倍勘误表[参考勘误表(SLAZ682L)第二部分]。 是否有些其他代码(您尚未显示)跳过其中一个代码?

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

    您好!

    该解决方案是在更改端口功能选择和开始采样之间添加较小的延迟:

    P1SELC |= BIT1;//为 ADC 配置 P1.1
    __delay_cycles (500);
    ADC12CTL0 |= ADC12ENC | ADC12SC;//开始采样/转换

    谢谢。

    伊泰