p.s. FYI just did another test with Teensy to verify that it fails after Adafruit succeeds and it behaves just like before (i.e. it still drops data and hangs the serial monitor)
NOTE: I can stop the monitor from hanging on Teensy if I add a delay(1) to the end of your benchmark program (see below just to be clear). It still drops data just like the previously seen but doesn't hang anymore.
Code:
void setup() {
Serial.begin(1000000); // edit for highest baud your board can use
while (!Serial) ;
count = 10000000;
prior_count = count;
count_per_second = 0;
prior_msec = millis();
}
void loop() {
Serial.print("count=");
Serial.print(count);
Serial.print(", lines/sec=");
Serial.println(count_per_second);
count = count + 1;
uint32_t msec = millis();
if (msec - prior_msec > 1000) {
// when 1 second as elapsed, update the lines/sec count
prior_msec = prior_msec + 1000;
count_per_second = count - prior_count;
prior_count = count;
}
delay(1);
}