MPLab, C-compiler, Printf

OP #1849750
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.
Gast #1849871
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.
Gast #1849877
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
Gast #1849880
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
#1849937
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

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