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.

[参考译文] 编译器:MSP430F149 -两个计时器(PWM +捕捉)的问题

Guru**** 2541590 points
Other Parts Discussed in Thread: MSP430F149

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/588347/compiler-msp430f149--the-issue-with-two-timers-pwm-capture

主题中讨论的其他器件:MSP430F149

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

尊敬的朋友:

我需要您的帮助。我通过 TA1 (引脚1.6)延迟发送 PWM:

#include "MSP430F149.h"

#include "stdio.h"
#define XTALL 16.0
#define DELAY_us (us)_DELAY_CYCLES (XTALL * us);
#define DELAY_ms (ms) DELAY_us (1000 * ms);

void timerA_PWM ()


TACCR0= 18;
TACCR1=7;  
TACCTL1=OUTMOD_7;

TACTL |= tassel_2;

void main (void)

P1DIR|=BIT6;

P1SEL|=BIT6;

WDTCTL = WDTPW+WDTHOLD;
timerA_PWM ();
while (1)

TACTL |= MC_1;//计时器打开
delay_ms (50);  
TACTL &=~MC_1;//计时器关闭
delay_ms (100);  

_BIS_SR (LPM0_Bits+GIE);

此代码正常工作。 但我需要将信号接收到 MSP430F149并对时间进行计数。 我可以使用引脚2.3 (CA0/TA1)来解决这个问题吗?或者我可以使用引脚4.0 (TB0)。

当计时器 TA1停止时、我不知道如何对计时器进行午餐:

TACTL &=~MC_1;//计时器关闭
delay_ms (100);  

一个计时器 TA1 (引脚1.6)需要生成具有延迟的 PWM、另一个计时器需要开始计数、当 TA1停止时、捕获输出信号、停止计数并计算时间。

如何操作?

提前感谢!!!

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

    您应该使用 Timer_B 引脚的捕捉模式(CAP = 1)来测量输入信号脉冲。 有关详细说明,请参阅《用户指南》的第12.2.4节。

    e2e.ti.com/.../135088
    forum.43oh.com/.../

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

    感谢你的帮助!

    您能否向我解释一下如何以毫秒为单位接收测量结果?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以使用计时器中断、该中断会根据所需的输入信号捕捉沿(CMx 设置的上升沿、下降沿或两者均触发)进行触发、并读取复制到 T[A/B CCRx 寄存器中的计时器值。 由于您知道计时器源时钟的频率、因此您将能够将来自 CCRx 的计数转换为以(毫秒)为单位的值。 您应该复位每个中断内的 T[A/B]R 寄存器、以便每次触发时重新开始计数。

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

    在哪里可以找到使用比较器测量输入信号的示例?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它之前在第一次答复中提供、您也可以参考 fet140_ta0_TA1_uart2400.c、fet140_TA_22.c 或 fet140_uart02_[09600/19200].c

    此致、
    Ryan