Seltsamer Output bei Grand Central M4 + Arduino

OP #6885357
Lesenswert?

Hallo Zusammen,

ich hab hier einen Grand Central M4 Board mit dem uC ATSAMD51P20A und 
würde den gern mal mit einem Arduino zum Laufen bekommen. Dafür hab ich 
mir über den Boardverwalter die jeweilige Konfiguration heruntergeladen.

Nun würde ich gern ein einfachen Output über den Serial Port ausgeben 
lassen:

Folgender Code:
1
int i = 0;
2

3
void setup() {
4
  Serial.begin(9600);
5
  // put your setup code here, to run once:
6

7
}
8

9
void loop() {
10
  Serial.println(i++);
11
  // put your main code here, to run repeatedly:
12
  delay(10);
13
}

Meiner Meinung nach sollte nun der Output über den Serial Monitor wie 
folgt kommen:
0
1
2
3
...

Was aber stattdessen passiert: "i" startet nicht bei 0, sondern 
willkürlich und zählt dann hoch...
Startwert = 113, 114, 115, ... bzw. 427, 428, 429, ... --> bei 
delay(10);
Startwert = 5, 6, 7, ... bzw. 6, 7, 8, ... bzw. 9, 10, 11, ... --> bei 
delay(100);


Ich kapier es einfach nicht, warum ist das denn so?! Wo liegt der 
Fehler....

Danke ;)

Grüße
Gast #6885380
Lesenswert?

Dein Programm wartet nicht, bis der serielle Port fertig initialisiert 
ist und so ist das Programm schon bei 100 bis der Port endlich Daten 
überträgt.

ein einfaches
 while(!Serial);
hinter den Serial.begin hilft meist, sonst kannst Du
 if( Serial.available() ) {
id der Loop benutzen.
OP #6885408
Lesenswert?

Horst schrieb:
> Dein Programm wartet nicht, bis der serielle Port fertig initialisiert
> ist und so ist das Programm schon bei 100 bis der Port endlich Daten
> überträgt.
>
> ein einfaches
>  while(!Serial);
> hinter den Serial.begin hilft meist, sonst kannst Du
>  if( Serial.available() ) {
> id der Loop benutzen.

Ahh vielen Dank! Läuft gleich viel besser ;)

Kurze Anmerkung:
if(Serial.available())
{
...
}
geht in meinem Fall nicht, nur: while(!Serial);

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren