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.

[参考译文] 编译器/MSP430G2210:MSP430G2210比较器工作正常

Guru**** 2390755 points
Other Parts Discussed in Thread: MSP430G2210

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/889744/compiler-msp430g2210-msp430g2210-comparator-functioning

器件型号:MSP430G2210

工具/软件:TI C/C++编译器

大家好,有人能帮我 吗?

我正在使用 MSP430G2210,必须在引脚4 (P1.6)上检测到高于0.25xVcc 的电压,并在引脚5 (P1.7)上提供高输出(此时)。

我使用了以下设置 :
P1REN=0x1B;          //正确终止不可用的 Port1引脚(P1.0/1/3/4)
P1DIR= 0x80;        //我的输出

CACTL1=CAREF0 | CAON | CAEX;

CACTL2=P2CA3|P2CA2

在我的程序中、每当我测试 CAOUT=0、但 CAOUT 保持=1时、我希望激活我的输出?

感谢你的任何帮助

Robert

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

    您是在寄存器中还是在引脚上检查 CAOUT? 根据数据表(SLAS753E)表16、您应该设置 P1SEL.7=1来获得引脚上的输出。

    此外、应设置 CAPD.6=1以使 P1.6像实数模拟输入一样工作[另请参阅表16]。  

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

    Bruce、

    我使用 c 编程中的 if (CAOUT)语句检查 CAOUT

    我正在使用 IAR 工作平台进行编译和加载、但编译器不知道 P1SEL.7和 CAPD.6。

    实际上、我基于示例库中使用其他引脚放置的示例程序 msp430g2210_ca_04.c 进行了工作。

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

    您可以使用以下命令设置这些位:

    根据  数据表、> P1SEL |= BIT7;// P1SEL.7=1 -> P1.7 AS CAOUT

    根据   数据表、> CAPD |= BIT6;// CAPD.6=1 -> P1.6作为 CA6

    我还发现、这些示例没有设置 CAPD 有点奇怪。 引脚原理图(数据表图22)使其看起来非常重要。

    如果需要说明:CAOUT 是一个常数(=1)。 使用"IF (CACTL2 & CAOUT)"对其进行测试。  

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

    非常感谢 Bruce

    这是可行的!