Forum: Mikrocontroller und Digitale Elektronik Array Warnung


von deep sleele (Gast)


Angehängte Dateien:

Lesenswert?

hey warum bekomme ich folgende Warnungen (siehe anhang)

von Michael U. (amiga)


Lesenswert?

Hallo,

vielleicht weil Du Dein Array mit dem falschen Variablentyp angelegt 
hast?
Woher sollen wir das wissen???

Gruß aus Berlin
Michael

von Veit D. (devil-elec)


Lesenswert?

Hallo,

da fehlt etwas Code würde ich sagen. Meine Glaskugel sagt mir jedoch das 
der Datentyp von 'Freq' nicht zu deinen Zuweisungen passt. Davor warnt 
dich der Compiler.

von Axel S. (a-za-z0-9)


Lesenswert?

deep sleele schrieb:
> hey warum bekomme ich folgende Warnungen (siehe anhang)

<seufz>

Code bitte als text (copy & paste) und nicht als Screenshot.

Die Warung ist doch eindeutig. Dein Array ist anscheinend vom Typ int. 
Der Wertebereich von int auf den AVR geht von -32768 bis +32767. Alle 
drei Zeilen versuchen, einen Wert außerhalb des Bereichs zuzuweisen.

Auch wenn du eigentlich unsigned int gemeint hast - da würde der 
Wertebereich von 0 bis 65535 gehen. 65536 ist immer noch außerhalb.

von foobar (Gast)


Lesenswert?

Irgendwo stecken da 16-Bit-Ints drin.  Häng an die Zahlen mal ein "u" 
für "unsigned" (also z.B. 34536u) und check das Array Freq - sollte 
uint16_t oder größer sein.

von M. K. (sylaina)


Lesenswert?

Michael U. schrieb:
> vielleicht weil Du Dein Array mit dem falschen Variablentyp angelegt
> hast?
> Woher sollen wir das wissen???

Ist doch eindeutig anhand des Screenshots

foobar schrieb:
> Irgendwo stecken da 16-Bit-Ints drin.  Häng an die Zahlen mal ein "u"
> für "unsigned" (also z.B. 34536u) und check das Array Freq - sollte
> uint16_t oder größer sein.

Das wird nicht reichen da 65536 genau um 1 zu groß für einen 16 Bit 
Unsigned Integer ist ;)

von foobar (Gast)


Lesenswert?

> Das wird nicht reichen da 65536 genau um 1 zu groß

Stimmt, hatte ich gar nicht bemerkt ;-)  Also auf 32-Bit-Ints wechseln 
oder checken, ob die 65536 wirklich nötig/korrekt sind.

von Michael U. (amiga)


Lesenswert?

Hallo,

M. K. schrieb:
> Ist doch eindeutig anhand des Screenshots

natürlich ist es das, meine Glaskugel ist aber in Quarantäne.
Ich finde, nicht wir müssen uns fehlende Infos zusammenreimen.
Vielleicht bin ich aber auch nur etwas "angefressen"...

Gruß aus Berlin
Michael

von Einer K. (Gast)


Lesenswert?

Michael U. schrieb:
> natürlich ist es das, meine Glaskugel ist aber in Quarantäne.
> Ich finde, nicht wir müssen uns fehlende Infos zusammenreimen.
> Vielleicht bin ich aber auch nur etwas "angefressen"...

Der naive Forenposter postet nur das worauf er den Fokus legt!
Darum bleibt die konkrete Ursache erstmal meist im Dunklen.

Es ist deine Aufgabe den Blickwinkel des Deliquenten zu erweitern.
Denn der Fehler steckt oft da wo man bisher noch nicht hingeschaut hat.

von M. K. (sylaina)


Lesenswert?

Michael U. schrieb:
> Ich finde, nicht wir müssen uns fehlende Infos zusammenreimen.

Ich finde nicht, dass wir uns hier etwas zusammenreimen müssen und auch 
nicht, dass man hierfür die Glaskugel auspacken muss. Anhand der 
Fehlermeldung sieht man genau, dass die Variable Freq als 16 Bit Signed 
Integer definiert worden sein muss denn eine andere Ursache kann diese 
Fehlermeldung schlicht nicht haben und der Bereich ab dem sie auftritt 
ist durch den Screenshot bekannt. ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.