mikrocontroller.net

Forum: Compiler & IDEs Problem bei Würfelgeneratorprogramm


Autor: ElektroAzubiG&S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe ein Problem bei meinem Programm im AVR Studio 4!
ATMEGA 32
habe mir ein Würfelprogramm geschrieben das bei betätigen eines tasters 
eine zahl von 1-6 ausgibt!
Mein Problem ist bei "Build" bringt er mir drei Fehlermeldungen die ich 
nicht mehr los werde!!!
1. Fehlermeldung #include datei "global.h" -->irgendwie kann ich die 
nicht finden!

2+3. Fehlermeldungen bei meinen Schleifen {

Vllcht kann mir ja jemand weiterhelfen

Bräuchte es für die Berufsschule
Bin um jeden nützlichen Beitrag froh
Danke schon im Vorraus


hier noch das Programm


/*******************************************************

Projekt: Würfelprogramm
Date:2007-12-23
Author: ElektroAzubiG&S
Chip Type: ATMEGA32

*******************************************************/
#include "global.h" <-- 1. Fehlermeldung

 /*definieren von Konstanten*/


#define True    1
#define False    0
#define  Pi      3,14


void init                    /*Unterprgramm wird initialisiert*/
{   <----2.Fm


wdt_disable();

  DDRB= 0x0F;
  DDRA= 0xF0;
  DDRB= 0x0F;
  PortB= 0x00;

  timer0init ();


  sei();

  uartinit();
  uartset baudrate (19200);
  rprintfinit(uartsendbyte);

  rprintf ("\r\nhallo leute\n");
  rprintf("ich bin der meisterprogrammierer");

  } //Ende init



                            /*Hauptprogramm*/

{  <--3.Fm

  char i;
  init main (void)

  //Lampentest (alle ein dann aus)

  PORTB= 0xEF;
  timerPause (500);
  PORTB= 0x00;
  timerPause (500);
  PORTB= 0xEF;
  timerPause (500);
  PORTB= 0x00;
  timerPause (500)
  PORTB= 0xEF;
  timerPause (500);
  PORTB= 0x00;
  timerPause (500);


//dann endlosschleife

    while (1)

      {
      rprintf ("Endlosschleife");
      rprintfCLRF();


      for (i=1; i < 13; i=i+2) //hier wird dauernd bis fünf gezählt 
13?????


          {
          if (i==1) PROTB= 0x08;
          if (i==2) PROTB= 0x24;
          if (i==3) PROTB= 0x2C;
          if (i==4) PROTB= 0xA5;
          if (i==5) PROTB= 0xAD;
          if (i==6) PROTB= 0xE7;

          rprintfCLRF();
          rprintf("Hurra! Du hast eine %x gewürfelt",i);
          rprintfCLRF();
          timerPause(5);
          loop_until_bit_is_set(PINA,PINA3);

          timerPause(5); //wartezeit zum Entprellen

          PORTB= 0;
          }
      }
  }

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und welche Fehlermeldungen kommen in den Schleifen? Lass mich raten: 
Eine lautet sinngemäß "undefined symbol 'PROTB'...", oder liege ich da 
falsch mit meinem Ratespielchen?

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> rprintf("ich bin der meisterprogrammierer");
Da ist aber einer ganz schön überheblich...;-)

Autor: Frank B_. (frank_b) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du das Programm selbst geschrieben hast, musst Du doch wissen wofür 
global.h gut ist, bzw wo Du es findet :-)

Frank

Autor: ElektroAzubiG&S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Build started 23.12.2007 at 21:24:49
avr-gcc.exe  -mmcu=atmega32 -Wall -gdwarf-2 -Os -std=gnu99 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP 
-MT µC.o -MF dep/µC.o.d  -c  ../µC.c

../µC.c:14:20: error: global.h: No such file or directory

../µC.c:29: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before '{' token

../µC.c:52: error: expected identifier or '(' before '{' token
make: *** [µC.o] Error 1

Build failed with 3 errors and 0 warnings...

so sieht die Fehlermeldung aus
Danke für die rasche Antwort

oh da hab ich aber echt nicht aufgepasst!!
mit dem "PROTB"

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da sind ja Milliarden Fehler drin in dem Code...

Du programmierst zum ersten Mal in C oder?

Autor: ElektroAzubiG&S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Kurt Ja das ist mein erstes Programm!
@Frank Das Programm hab ich mir so von anderen zusammengeschnipselt!

@Johannes Das mit dem Meiserprogrammierer soll ironisch gewesen sein lol 
--> ist doch nicht so leicht wie ichs mir vorgestellt hab!

@Kurt was sollte ich sonst noch so beachten?

mfg

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> timerPause (500)
Da fehlt ein Semikolon.

Außerdem hat das Hauptprogramm keinen Namen. Klar, dass es da 
Fehlermeldungen hagelt. Es muss in einem C-Programm immer genau eine 
Funktion mit dem Namen "main" geben. Das ist vermutlich auch die Ursache 
für die beiden letzten Fehlermeldungen.

Autor: Frank B_. (frank_b) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...sofern die global.h aufgefunden werden kann.

Ohne die geht garnix.

Frank

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.