Attiny2313 mit AVR Studio 4.13 SP1 Problem

Gast #703896
Lesenswert?

Hallo,

ich bin absoluter Neuling in Sachen MicroController. Hab schon sehr viel 
gelesen. Erfolgreich erledigt habe ich folgendes:
AVR Testboard von silvotronic aufgebaut.
Einen Attiny2313 mit einem aus dem Internet geladenen Hex file 
(Blink1,hex) mit ponyprog programmier (LPT1)
Alles Wunderbar!! PortB0 blinkt. Das Testprogramm ist in arm 
programmiert!

Jetzt wollte ich gerne das ganze in C realisieren. AVRStudio 4.13 und 
dieses AVR2007 aus dem Internet geladen. Dank vieler Beiträge hier bin 
ich jetzt soweit das er meinen Quellcode compilieren möchte. Un da hakt 
es.

siehe folgende Zeilen:
**************************Mein QuellCode:

//mein erstes Blink Programm
//blink2.c
#include<io.h>
#include<portpins.h>
void main (void)
{
  unsigned int i;
  while(1)
    {
      PORT0=0x00;
      for (i=0;i<30000;i++);
      PORT0=0x01;
      for (i=0;i<30000;i++);
    }
}

******************Die Fehlermeldung:

Build started 17.11.2007 at 10:51:24
(Grün)avr-gcc.exe -I"C:\winAVR-200700525\avr\include\avr" 
-mmcu=attiny2313 -Wall u.s.w.....
(gelb)../blink.c:6: warning: return type of 'main' is not 'int'
(Rot)../blink.c: In function 'main':
(rot)../blink.c:10: error: invalid lvalue in assignment
(rot)../blink.c:12: error: invalid lvalue in assignment
     make: *** [blink.o] Error 1
Build failed with 2 errors and 1 warnings...

*******************************************************************

Ja und nun bin ich erstmal am Ende. Weiß einfach nicht mehr weiter. 
Vielleicht kann mir einer mal etwas Starthilfe erteilen.

MfG

Baddy
Gast #703915
Lesenswert?

jo dat funzt. Danke. Die Warnung war das ich void main (void) genommen 
habe. wenn ich int main(void) schreibe dann ist auch die warnung weg.
Werd das gleich mal in den µC schreiben. mal sehen ob es blinkt.
Vielen lieben dank.

Gruß Baddy.
#703934
Lesenswert?

Mit welchem Takt läuft der µC überhaupt? 30000 Takte sind je nach 
CPU-Takt immer noch ne verdammt kurze Zeit, und dann blinkt die LED so 
schnell, dass es nicht mehr fürs Auge erkennbar ist.

Abgesehen davon: Leere for-Schleifen sind Freiwild für den Optimizer des 
Compilers. In diesem Fall werden sie zwar offensichtlich nicht 
wegoptimiert, aber möglicherweise hast Du das Programm auch mit -O0 
compiliert...

Nimm entweder nen Timer oder die Funktionen aus der util/delay.h (die 
laufen aber nur mit eingeschaltetem Optimizer korrekt und sind in ihrer 
Maximalverzögerung begrenzt, Doku lesen!)

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