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.

[参考译文] MSP430F5529:RTCNT0溢出时、RTCNT1不能增加时间

Guru**** 2595805 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1063964/msp430f5529-rtc-when-rtcnt0-overflow-rtcnt1-can-not-add-in-time

器件型号:MSP430F5529

// 1. RTC Init

RTCCTL01 = 0;
RTCCTL01 |= RTCHOLD;//确保 RTC_A 被停止
RTCNT1 = 0;//加载 RTC_A (4个字节作为一个32位)
RTCNT2=0;
RTCNT3=0;
RTCNT4 = 0;
RTCCTL01 = RTCSSEL_1 + RTCTEV_3;// CTR_A:计数器模式、使能中断、MCLK 输入、32位溢出、启动计数器

//2. RTC 计数, cur_clk_s 是静态数据函数末尾成为 cur_clk_d 。

unsigned int cur_clk_d、cur_clk_e = 0;
执行{

{//等待输入变为低计数++
CUR_clk_d = RTCNT2;
CUR_clk_d <<=8;
CUR_clk_d |=RTCNT1;

/********* 在这里,我不知道为什么新数据比旧数据少,现在我对它的溢出进行了链接,但我不知道如何解决它,这种方法不是个好主意*/
if (cur_clk_d <= cur_clk_s)
CUR_clk_d |= 0xFF;

/********* 在这里,我不知道为什么新数据比旧数据少,现在我对它的溢出进行了链接,但我不知道如何解决它,这种方法不是个好主意*/
如果(cur_clk_d - cur_clk_s)>RD_TIME_UINT)//8kbit、则1个时间单位为3125 (125* 25)

返回 One_sym;

//等待低电平

if (((P1IN 和 SPI_MISO/2_INPUT)= 0x10)
 中断;
} while (1);

cucr_clk_s = cur_clk_d;

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

    我有错误的 rtcnt1 add rtcnt2无法 响应

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

    您能否在激活模式下运行代码并使用分步调试来仔细检查 RTC 寄存器是否超后。