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


von Ma B. (drumstick)


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.

von Zwirbeljupp (Gast)


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.

von mmm (Gast)


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

von Didi (Gast)


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

von Lehrmann M. (ubimbo)


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

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.