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.

[参考译文] MSP430FR2355:基准输出至 VREF+

Guru**** 2539500 points
Other Parts Discussed in Thread: MSP430FR2355

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/858678/msp430fr2355-reference-output-to-vref

器件型号:MSP430FR2355

我有一个需要 MSP430基准输出的应用。 根据数据表和用户指南、应该可以在 P1.7 (A7)上执行此操作。 因此、我首先配置相应的 PMM 寄存器:

PMMCTL2 |= REFGEN;

P1SEL0 |= BIT7;
P1SEL1 |= BIT7;

PMMCTL2 |= EXTREFEN; 

这不会在我的器件上产生输出。 当查看调试器中的寄存器时、我看到在 PMMCL2中 EXTREFEN 没有被置位。 但是、基准正在运行(REFGENACT、REFBGACT、REFBGRDY、REFGENRDY 全部被置位)。

我在数据表中发现、当相应的 ADC 通道(A7)正在使用时、可以输出参考、因此我尝试了:

PMMCTL2 |= REFGEN;
ADCMCTL0 |= ADCINCH_7;
ADCCTL0 |= ADCON;
ADCCTL0 |= ADCENC;

P1SEL0 |= BIT7;
P1SEL1 |= BIT7;

PMMCTL2 |= EXTREFEN; 

但这仍然不起作用。 EXTREFEN 位保持未置位状态、且输出无参考电压。 无论是在互联网上还是在 MSP430FR2355代码示例中、我都找不到任何提示。 如何从外部获取我的参考资料?

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

    大家好、Torben、

    您在大多数实现中都是正确的、但是您缺少2行代码、这2行代码会解锁 PMM 寄存器并实际激活端口设置。

    有关如何在 MSP430FR2355上启用外部基准输出的示例、请参阅代码片段的以下修改:

    int main (void)
    {
    WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
    
    //禁用 I/O 功能
    P1SEL0 |= BIT7;
    P1SEL1 |= BIT7;
    
    PM5CTL0 &=~LOCKLPM5;//激活先前配置的端口设置
    
    PMMCTL0_H = PMMPW/解锁
    PMMCTL2| PMMCTL2寄存器 //启用可变基准发生器
    PMMCTL2 |= EXTREFEN;//启用1.2V 外部基准输出
    
    while (1); //监视 P1.7
    
    返回0上的 VREF+;
    } 

    请记住、输出1.2V 基准输出时、不一定需要激活可变基准发生器。 您需要在 VREF+引脚上放置适当的电容器、以稳定 用户指南第7.2.1.1节中建议的电压

    此致、

    Matt Calvo