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/MSP430F2132:实时计数器

Guru**** 2510945 points
Other Parts Discussed in Thread: MSP430F2132

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/634279/ccs-msp430f2132-real-time-counter

部件号:MSP430F2132

工具/软件:Code Composer Studio

我目前 使用的是MSP430F2132处理器 , 并尝试设置RTC,但遇到了一些问题。 我创建了一个中断,在触发计时器中的标志时调用该中断。 我设置了一个比较标志,当计时器值为十六进制7FFF或十进制 3.2767万时触发 ,因为我从TI模块中看到的值在使用 LFXT1振荡器时对应于1秒。 我认为比较不起作用,因为当我在我的TACTL寄存器中包括TAIFG标志时,会调用中断,但从不调用中断。 欢迎提出任何建议。 我已附上我的代码。  

#include <MSP4S.h>
#include<stdio.h>
#include<stdlib.h>
#include<mathing.h>
#include<msp430f2132.h>
Int sec = 0;
间隔小时数= 0;
Int Min = 0;
/**
主要c
*/
内部主(无效)

WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
DCOCTL = 0;
BCSCTL2 |= SELM_3;
TA0CCTL0 |= CCIE;//启用比较标志
TA0CTL || tassel_1 + MC_1;//ACLK,中断启用,UP模式,
TA0CCR0 = 0x7FFF;
_ BIS_SR (CPUOFF + GIE);
同时(1)
{}
}

#pragma vector = TIMER0_A0_vector
__interrupt void Timer_A (void){
TA0CTL |= TALCL;
sec = sec + 1;
如果(sec == 60){
秒= 0;
最小=最小+ 1;
}
如果(min == 60){
最小值= 0;
小时=小时+ 1;
}
}

谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的代码看起来正确。 (它与示例程序msp430x21x2_ta0_05.c基本相同,我建议您先尝试。)

    "TAIFG"是什么意思? 要启用该中断,您需要设置TAIE。 而这一个只能与不同的中断向量一起使用。