Problems with a counter and serial println.

I don´t understand, why when I call the Serial Monitor it starts in 0 (cero), It is a counter, I don´t restart the DUE, I hope that every time I call the serial monitor, the counter have any value, but why always start in 0.

Thanks.

// constants won't change. Used here to
/ set pin numbers:
const int ledPin = 13; // the number of the LED pin

// Variables will change:
int ledState = LOW; // ledState used to set the LED
long previousMillis = 0; // will store last time LED was updated

long interval = 500; // interval at which to blink (milliseconds)

unsigned int contador=0;

unsigned long tme;

void setup() {
// set the digital pin as output:
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop()
{
// here is where you'd put code that needs to be running all the time.

// check to see if it's time to blink the LED; that is, if the
// difference between the current time and last time you blinked
// the LED is bigger than the interval at which you want to
// blink the LED.
unsigned long currentMillis = millis();

if(currentMillis - previousMillis > interval) {

++contador;
// save the last time you blinked the LED
previousMillis = currentMillis;

// if the LED is off turn it on and vice-versa:
if (ledState == LOW)
ledState = HIGH;
else
ledState = LOW;

Serial.print("Time: ");
tme = millis();
//prints time since program started
Serial.println(contador);

// set the LED with the ledState of the variable:
digitalWrite(ledPin, ledState);
}
}

I don't know for the Due but with the Uno the board resets when you start serial monitor.

Noooo...

:astonished:

I can´t believe it. so what is the solution.

That don´t have sense.

Thanks groundfungus

Use the native port. It's SerialUSB instead of Serial.

Due (and Uno and other Arduino boards, except Leonardo) all reboot when you open the serial monitor. They're designed to do this.

Due's native port does not (or at least should not) cause a reboot merely by opening the serial monitor.

Thanks for the answers.

I will try, but I´m new with Arduino, so I need to learn how to use the native port. I was trying but don´t work.

:astonished:

how to use the native port

I might be wrong here as I don't have a Due, but as I understand it if you use the native port you have to clear the flash contents first by pressing the "erase" button. After that when you plug in/power up the SAM should enter the USB bootloader.


Rob