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.

[参考译文] CCS/MSP430FR5994:了解 TAR 的作用

Guru**** 2589280 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/687593/ccs-msp430fr5994-understanding-what-tar-does

器件型号:MSP430FR5994

工具/软件:Code Composer Studio

根据我的理解 TAR 返回一个值作为计时器的计数器(0到数字)

当我尝试读取 TAR 值时、我有时会得到一个负值、这也是别人为什么会这么做的

这是我在按下按钮后读取该值的代码  

#pragma vector = PORT5_vector
_interrupt void P5_ISR (void){
P5IFG &=~BIT4;
P1OUT ^= BIT0;
TA0CTL = MC_0;
printf ("%d\n"、TA0R);
TA0CTL = tassel_2 + MC__Continuous+ ID + TACLR;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以使用 printf ("%u\n"、TA0R)来输出 eh 值。 因为 TAR 中的值是一个无符号格式的值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回答、我尝试了这种方法、它解决了负值问题

    有时计数器的值会从54000下降到52921、但有时会上升。 这似乎是随机的。

    由于我将计时器置于连续模式、因此它在达到限制后应跳回至零、为什么该值有时会下降?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想知道了

    我每次都清除计时器、而不是让计时器计数以查看进度

    很抱歉造成任何混淆