Forum: Mikrocontroller und Digitale Elektronik Riesiger Kode mit volatile Variable


von Dimon11/09 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo miteinander !!!

Bin langsam am verzweifeln. Folgendes Problem: im angehängten Code ist 
das Ergebniss meiner 2. Erfahrung mit einem µC. Nun beim Interrupt-Test 
wollte ich per Tastendrück den Wert einer Variable verändern.

Inzwischen habe ich rausgefunden, dass so eine Variable als volatile 
deklariert werden muss. Allerdings wenn ich das mache (volatile uint8_t 
time = 10; // Zum Bsp.) und die Variable in den ISR's einbinde. Wachst 
mein Code von ca. 192 Byte auf ca. 3 kByte.

Mein Zielsystem ist ein Attiny24, also nicht gerade viel Platz zu 
verfügung. Hat jemand eine Idee wie ich das Problemm (Variable per 
Interrupt verändern) doch hinkriege?

von Benedikt K. (benedikt)


Lesenswert?

Der Fehler liegt hier:
_delay_ms(time);

Bei _delay_ms(); keine Variablen sondern nur konstante Werte verwenden, 
sonst wird die floating Point Bibliothek eingebunden.

von Dimon11/09 (Gast)


Lesenswert?

Hey Benedikt, Danke!

Dachte mir schon sowas in die Richtung.

Dann werde ich Morgen das mit Timer-Interrupts versuchen zu realesieren.

Meinst Du hilft es?

von Naja (Gast)


Lesenswert?

>Dann werde ich Morgen das mit Timer-Interrupts versuchen zu realesieren.
>Meinst Du hilft es?

Zur erfolgreichen Beantwortung von Fragen gehört auch das lesen der 
Antworten.

>Bei _delay_ms(); keine Variablen sondern nur konstante Werte verwenden,
>sonst wird die floating Point Bibliothek eingebunden.

von gast (Gast)


Lesenswert?

>Dachte mir schon sowas in die Richtung.
Wenn du dir das denkst, warum erwähnst du es dann nicht schon im ersten 
Post^^

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.