blutiger anfänger in GCC

OP #363325
Lesenswert?
• ▲
▼
guten tag in bascom und assembler is alles kein problem da nur ein file

jetzt hat avr studio auch gcc drin

und nun bastle ich schon 2 tage an einer ausgabe auf einen port

aber das will und will nicht gehen

was ist ein makefile

wozu brauch ich .h files

anbei der traurige anfang

bitte wo bekomme ich grundlegende infos und beispiele

danke
Angehängte Dateien:
OP #363328
Lesenswert?
• ▲
▼
mein problem ist das er die for schleife als fehler erkennt woran liegt
dass

eine endlosschleife
for(;;;)
{


}

ilegal syntax no effekt

was soll das

irgendwie geht da gernichts

kann mitr mal jemand ein kleines file
senden das am port B die led leuchten lässt

binärwert runterzählt 254 bis 1

negative logic am stk 500

mit 8515 drauf

danke
Gast #363331
Lesenswert?
• ▲
▼
Tja, aller Anfang ist schwer, so funktioniert es, guck es Dir an!
Ich habe Dir auch noch das ganze als AVR-Studio Projekt beigefügt.

Gruss von mir!
___________________________________________

#include <avr/io.h>
#include <util/delay.h>

// Maximal sind ca. 8 Sekunden möglich
void wait(unsigned char Time_sec)
{
  unsigned char n;
  n = (Time_sec << 5); // 5Bit nach links schieben: n=Time_sec * 32
  while(n--)           // solange (n<>0); n-- ist zudem n=n-1
  {
    //----------------------------------------------------------
    // Max. Delay für _delay_ms ist: 262.14 ms / F_CPU in MHz
    // Der Parameter für _delay_ms sollte eine Konstante sein!
    //----------------------------------------------------------
    _delay_ms(1000/32);    // Time_sec  32  (1000ms / 32)
  }
}


int main(void)
{
  unsigned char X;         // lokale Variable
  DDRB=255;
  while(1)                 // endlos Loop
  {
    for(X=254; X>0; X=X-1) // for(X=254; X; X--) macht das selbe!
    {
      PORTB=X;
      wait(1);             // warte eine Sekunde
    }
  }
}
Angehängte Dateien:
OP #363332
Lesenswert?
• ▲
▼
danke an alle
für die schnelle hilfe

warum erzeugt der dann einen riesen code
 4250Byte
bei so wenig zu tun

ibn asm hab ich 75byte für das gleiche

mit fast avr bekomme ich 125byte code

mit bascom sinds dann schon 374 byte

aber gcc schlägt mit 4325byte alles

hat da jemand eine erklärung für

danke nochmals

der prof verlangt nun mal c++
in der firma in der ich gearbeitet habe

habe ich sogar 10volle i2C kanäle in asm auf 1chip(8515)gepackt und
hatte immer noch platz

und hier

ein portdurchlauf und der halbe chip ist blockiert

sammel lothar


aller anfang ist schwer
umstieg von ablauf auf objektprogrammierung ist nach 23jahren
berufserfahrung als mechatroniker nicht einfach

!!!!!!

bitte das zu entschuldigen

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.