小编Pat*_*dUp的帖子

Arduino闰秒钟

基本上我正在写一段简单的代码来每秒递增一次并显示时间和日期,这让我很沮丧,而且我确信我忽略了一些明显的东西.

因此,我将时间显示为MJD(修改的Julian日期)HH:MM:SS,但也允许硬编码的MJD表示闰秒事件,然后正确显示闰秒.

它有点工作,但它跳过了23:59:59.

我最终计划移植到普通的旧AVR,所以我真的不想乱用arduino库.

int second = 0, minute = 0, hour = 0;
long mjd = 55000;
long leap = 55964;

void setup()
{
    Serial.begin(9600);
    Serial.print("MDJ ");
    Serial.print(mjd);
    Serial.print(" ");
    Serial.print(hour);
    Serial.print(":");
    Serial.print(minute);
    Serial.print(":");
    Serial.println(second);

}

void loop()
{
    second++;
    if (mjd == leap && hour == 23 && minute == 59 && second == 59) {
        second++;
    } else {
        if (second > 59) {
            minute++;
            second = 0; // reset seconds to zero
        }
    }
    if (minute …
Run Code Online (Sandbox Code Playgroud)

c arduino

2
推荐指数
1
解决办法
648
查看次数

标签 统计

arduino ×1

c ×1