konstante als ganzzahl - z.b. BYTE - definieren

Gast #476940
Lesenswert?
• ▲
▼
im gcc-tutorial gibt es ein beispiel in c zum tasten-entprellen, das die 
funktion _delay_ms(time) benutzt.
der parameter time ist in der definition von _delay_ms (die über delay.h 
eingebunden wird) als double definiert.
compiliere ich das programm für den attiny2313 mit z.b _delay_ms(100), 
so wird 100 als double interpretiert, die double-routinen geladen(?) und 
somit sprengt das kleine programm den speicher des attiny2313.
wie kann ich dem compiler beibringen, dass die konstante "time" z.b. 
byte (oder sonst ein ganzzahltyp) ist? - ich will nicht delay.h 
umändern!
danke für die bisher gewährte hilfe
jr
Gast #477219
Lesenswert?
• ▲
▼
da ich c erst selbst lerne, aber in meinem unterricht einsetzen will mit 
dem attiny2313, bin ich auch an dieser software-lösung wegen der 
grundsätzlichen bedeutung interessiert.

deshalb die frage: wie kann ich den optimizer einschalten für den 
c-compiler im avr-studio?
Gast #477248
Lesenswert?
• ▲
▼
Project | Configuration Options, dann unten im Feld "Optimization" ein 
anderes Level als -O0 einstellen (-Os ist Codesize-Optimization, -O1 bis 
-O3 sind Optimierungen, die i.d.R. mehr oder weniger Kompromisse 
zwischen Codegröße und Geschwindigkeit machen).

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.