Forum: Compiler & IDEs Fehleranzeigen bei Asuro berichtigen (AVR)


von roboaki (Gast)


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

von Markus J. (markusj)


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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von roboaki (Gast)


Lesenswert?

Wäre es möglich, mir den bereits angegebenen Text in die richtige und 
fehlerfreie Programmiersprache zu übersetzen?

von roboaki (Gast)


Lesenswert?

Es wäre nett, ihn an die folgende E-Mail zu senden:
<antispam protected>

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

roboaki schrieb:
> Wäre es möglich, mir den bereits angegebenen Text in die richtige und
> fehlerfreie Programmiersprache zu übersetzen?

Nein.

von Karl H. (kbuchegg)


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!

von roboaki (Gast)


Lesenswert?

Vielen Dank für den Tipp.
Wäre vielleicht mal eine gute Idee so ein Crash-Kurs.
Wir machen das von der Schule aus aber nur so oberflächlich.

thx
aki

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.