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

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