www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MPLab, C-compiler, Printf


Autor: MC Bu (drumstick)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich werde einfach nicht ganz schlau mit dem MPLab. Um den MPLab in 
Betrieb zu nehmen und Headerdateien auszuprobieren, habe ich ganz 
einfach eine Printf-Anweisung. Ich möchte eben die erhaltenen errors und 
warnings erfassen um später schneller eine Behebung durchzuführen.

Also mein Progrämmchen:



#include <stdio.h>

void main (){

     printf("Hallo");
     getchar();

}



das "build all" funktioniert, ergibt aber folgendes:


aufbau1.c: In function `main':
aufbau1.c:24: warning: return type of 'main' is not `int'

Executing: "C:\Programme\Microchip\MPLAB C32 Suite\bin\pic32-ar.exe" r 
"aufbau1.c.a" "aufbau1.o"

C:\Programme\Microchip\MPLAB C32 Suite\bin\pic32-ar.exe: creating 
aufbau1.c.a


und wenn ich auf run klicke erscheint:


CORE-W0014: Halted due to PC incrementing over the Maximum PC address 
and wrapping back to Zero


Kann mir jemand helfen? Hab schon auf microchip nachgeschaut. Schlau 
wurde ich dort auch nicht.

Danke und Gruess

M. B.

Autor: Zwirbeljupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, diese Warnung ist doch eigentlich recht eindeutig. Main soll bitte 
keine void-, sondern eine int-Funktion sein:

#include <stdio.h>

int main (){

     printf("Hallo");
     getchar();

     return 0;
}


> CORE-W0014: Halted due to PC incrementing over the Maximum PC address
> and wrapping back to Zero
Völlig normal. Dein Programm ist ja auch ziemlich schnell zuende. Was 
soll der PIC denn Deiner Meinung nach dem Abarbeiten der zwei Zeilen 
tun???

Üblicherweise beinhalten Programme für Microkontroller eine Schleife, 
die unendlich durchlaufen wird.

Autor: mmm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du programmierst einen µC kein PC mit Betriebssystem! Du solltest dir 
mal ein Tutorial oder ein Buch über µC Programmierung hernehmen!

Am schluss fehlt die Endlosschleife: while(1) ;

Und was machst du mit printf? In den meisten Fällen ist es ein unnötiges 
Monstrum beim µC programmieren

Autor: Didi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir lag es auf der Zunge, mmm!

MPLAB ist eine Entwicklungsumgebung, in die
verschiedene C-compiler integriert werden können-
aber nicht müssen- Assembler geht ja auch.

Es ist noch wohl eine Menge Doku durchzuarbeiten.
Hast Du eine C-compiler im Auge?
Welchen PIC hätten Sie denn gern', den PIC32 ?

Gruss
Didi

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Freund du weisst, dass MPLab ein Compiler für PIC Microcontroller 
ist und kein Windows Compiler!!!

Was soll das stdio.h ? Das kennt kein PIC Compiler.

Was willst du mit prinft ? Du hast doch kein LCD Display.

Der PIC egal welcher geht nach Abschluss des Hauptprogramms main() in 
den POR und dann zu Origin0.

Das heißt: am Ende eine Endlosschleife einfügen.

Ich glaube aber eher dass du ein Konsolenprogramm fertigen willst oder ? 
Dann nimm dir einen C Compiler. MPLab ist eine Entwicklungsumgebung für 
PIC Microcontroller.

http://www.sprut.de/electronic/pic/allgemein/allgemei.htm#4

Beitrag #2451330 wurde von einem Moderator gelöscht.

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.