Fehleranzeigen bei Asuro berichtigen (AVR)

Gast #2140650
Lesenswert?

Mein selbsterstelltes Programm für den ASURO:


#include "asuro.h"

int main(void)
{
  Init(void);

  int i=0;
  for (i=0;i<10;++i)
    {
    BackLED (OFF, ON);
    Msleep(50/1000);
    BackLED (ON, OFF);
    Msleep(50/1000);
                }
          BackLED (OFF, OFF);
  unsigned int data[2];
  Init();
  FrontLED(ON);
  MotorDir(FWD,FWD);         while(1){
      LineData(data);
    if   (data [0] > data [1] )
      {MotorSpeed(200,150);}     else
      {MotorSpeed(150,200);}
  }


  while (1);
  return 0;
}




Fehlermeldungen:

avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields 
-fpack-struct -fshort-enums -Wall -Wstrict-prototypes 
-Wa,-ahlms=test.lst test.c -o test.o
test.c:5: warning: function declaration isn't a prototype
test.c: In function `main':
test.c:12: warning: implicit declaration of function `Msleep'
test.c: At top level:
test.c:32: error: parse error before "return"
test.c:32:78: warning: no newline at end of file
make: *** [test.o] Error 1

> Process Exit Code: 2



Könnte mir vielleicht jemand helfen, die Fehler zu berichtigen?
Ich bin noch ganz neu in dem Programmieren eines Asuro.

Danke schon mal im Voraus,

AKI
#2140747
Lesenswert?

Msleep() gibt es bei der im Original mitgelieferten Asurolib nicht, wird 
aber von einigen verfügbaren erweiterten Bibliotheken implementiert.

Ach ja: Das Init(void) gehört da nicht hin (um genau zu sein, gehört es 
in deinen Code überhaupt nicht, lediglich der Aufruf dieser Funktion 
fällt in deinen Aufgabenbereich.

mfG
Markus
Moderator Persönliche Seite #2140800
Lesenswert?

Markus J. schrieb:
> Msleep() gibt es bei der im Original mitgelieferten Asurolib nicht, wird
> aber von einigen verfügbaren erweiterten Bibliotheken implementiert.

Wobei dies allerdings den parse error nicht erklären würde.  Die
Ursache dessen kann man aber im gezeigten Quelltext nicht
erkennen.

Btw., Msleep(50/1000) ist effektiv Msleep(0).  Sicher so nicht
gewollt.
#2141138
Lesenswert?

roboaki schrieb:
> Es wäre nett, ihn an die folgende E-Mail zu senden:
> roboaxel@googlemail.com

Ganz sicher nicht :-)

Ob du allerdings deinen Code kriegst ... vielleicht findet sich ja wer. 
Persönlich halte ich nicht viel davon, weil du dann nichts lernst, 
sondern nur abschreibst. Und das ist nicht Sinn der Sache.

Du solltest eventuell vorher einen normalen C-Kurs auf dem PC 
durcharbeiten. Also einfach nur C, ohne Asuro. Am besten mit einem 
vernünftigen Lehrbuch. Der Klassiker "Kernighan&Ritchie Programmieren in 
C" würde isch anbieten.

Wenn du dieses Buch in seinem ersten Drittel durch hast, hast du das 
Rüstzeug um dich mit diversen Online-Tutorials auch dem Asuro zu nähern.


Und achte auf die äussere Form deines Codes! Saubere Einrückungen und 
konsistentes Layout sind nicht einfach nur Selbstzweck, sondern eine 
Hilfestellung um einige blöde Fehler zu vermeiden!

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