TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] MSP430FR2311:MSP430FR2311

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/932081/msp430fr2311-msp430fr2311

器件型号:MSP430FR2311
主题中讨论的其他器件: MSP430WARE

您好!

我在 MSP430FR2311 Launchpad 上运行示例 ecomp_ex2_interruptVcompVs1.5V。 此示例的配置如下:

//

//       MSP430FR2311

//            ------------------

//   /|\  |                |

//   |  |                |

//   ---- | RST    P1.1/C1 |---------------- VCOMPARE

//          |                |

//          |      P2.0/COUT |--- >'HIGH'(VCOMPARE >1.5V);'LOW'(VCOMPARE <1.5V)

//          |                |   |

//          |                |   | LED '打开'(Vcompare>1.5V);'关闭'(Vcompare<1.5V)

//          |                |

//

//

我正在监控 P2.0/COUT 电压、它始终为0V。 如果引脚 P1.1上的电压高于1.5V 的内部基准、则应该变为高电平。 我在 P1.1上输入0-3V 范围、P2.0/COUT 仍为0V

无论引脚 P1.1上的电压如何、CP0CTL1寄存器中的 CPOUT 位都显示1、并且仅当我在 P1.1上使用接地跳线时才变为0。

P1、P2寄存器中的 P1SEL0和 P1SEL1都设置为0x00、它们是否应该有不同的值来指示它们是比较器的输入和输出?

如何根据 P1.1电压更改 P2.0输出电压?

谢谢 Vadim

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

    Vadim 您好、我可以确认您是否已测试 FR2311代码示例:01~05 MSP430FR231x 代码示例上的 msp430fr231x_eCOMP_Δ Σ(修订版 E)。 我认为代码示例提供了有关 eCOMP 基本函数的良好参考。

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

    根据用户指南(SLAU445I)第2.2.8节、我认为内部基准需要显式打开(INTREFEN)才能将其用于 eCOMP DAC。 数据表(SLASE58E)第6.11.1节建议、设置 CPDACREFS=1足以使其打开、但措辞更含糊。  

    在任何情况下、我都会看到 PMMCTL2:REFGENAC=0。 由于比较器始终运行、我认为它需要始终为=1。

    除了我的 mumblings 之外、请尝试使用以下命令显式打开基准:

    >PMM_enableInternalReference();

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

    您好、Xiaodong、

    我从以下位置导入了示例:

    Resource Explorer/MSP430ware/Libraries/Driver Library/MSP430FR2xx_4xx/示例项目/Ecomp/ecomp_ex2_interruptVcompVs1.5V

    您参考的是位域示例。 我也会尝试它们。

    谢谢 Vadim

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

    您好、Bruce、

    我会尝试一下,您能否澄清我的其他问题。

    为什么 CPOUT 位为1、但比较器输出 P2.0为0V?

    为什么 PxSEL0 和 PxSEL1设置为 GPIO 而不是比较器输入、输出? 是否可以运行此板并将其检出?

    谢谢 Vadim

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

    我实际上尝试了位域示例、它工作正常。 当 P1.1输入为 1.5V 时、PxSEL0、1设置正确、P2.0电压为3V。  

    谢谢 Vadim

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

    1) 1)我看不到这种行为。 我安装了 P2.0/LED 跳线、当 CPOUT=1时、LED 亮起(反之亦然)。 我没有电压发生器、因此 GND/3V3是我唯一的测试用例。

    2) 2)我看到 P2SEL.0 = 10、这与数据表表表6-44相匹配。

    我不确定为什么您看到 P2SEL.0=00、但这可能会导致症状(1)。 如果您暂停该程序、您在哪里执行?

    3)似乎他们忘记配置 P1.1 (P1SEL.1=11)、因此我不太确定这是如何工作的。

    可能是 PSEL=0并不实际断开 eCOMP 与引脚的连接、它只是不禁用施密特触发器(如某些器件的 ADC 中所示)。 我的测试用例无法区分这一点。

    同样,我建议补充:

    > GPIO_setPeripheralModuleFunctionInputPin (GPIO_PORT_P1、GPIO_PIN1、GPIO_ternary_MODULE_Function);

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

    您好、Bruce、

    我将使用位域编程。 我以前是为 C2000实现它、现在将继续使用 MSP430。 它似乎也占用较少的内存。

    谢谢 Vadim