problems combining millis() and GPS timekeeping

ajakef:
I tried that code and got the same output as you. I'm not familiar with how you use the interrupt here though--I used attachInterrupt in mine. I'll try looking up the way you did it and see if it works in my code.

I just set the registers up directly rather than using the Arduino functions. See the datasheet for details.

This code should be equivalent:

#include <Streaming.h>    //http://arduiniana.org/libraries/streaming/

#define LED LED_BUILTIN

volatile boolean intFlag;
boolean ledState;

void setup(void)
{
    Serial.begin(115200);
    pinMode(LED, OUTPUT);
    attachInterrupt(0, flagInt0, FALLING);
}

void loop(void)
{
    if (intFlag) {
        intFlag = false;
        digitalWrite(LED, ledState = !ledState);
        Serial << millis() << endl;
    }
}

void flagInt0(void)
{
    intFlag = true;
}