Gast
#1969441
Hallo an alle, ich habe für den PIC24FJ64GB106 ein Programm geschrieben in dem 3 Module jeweils eine Teilaufgabe erledigen. Im debug-Modus läuft das Programm problemlos. Die liveLED blinkt alle 500ms wie vom Timer 1 gewollt. Die ADC Werte werden korrekt erkannt und auch die I2C Kommunikation arbeitet. Nun muss ich das Programm aber auf den PIC brennen damit dieser auch läuft ohne am PC über den PICkit 3 seine Arbeit verrichtet. Genau hier liegt aber das Problem. Ich habe das Gefühl das der PIC die einzelnen Module nicht aufruft. Wenn ich z.B. in der main.c in der while-Schleife die LEDs ein und ausschalte wird dies ausgeführt. Andere Programme die keine Module besitzen, welche sich nicht in der main.c befinden werden korrekt auf den PIC übertragen und laufen. Was mich einfach verwundert ist das beim builden weder warnings noch errors auftauchen und im debug-Modus das Programm läuft. Weiß einer Rat? Hier ist die main.c #include "common.h" #include "timer1.h" #include "adcon.h" #include "iic.h" _CONFIG1(JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_ON & ICS_PGx2 & FWPSA_PR32 & WDTPS_PS2048);//& WINDIS_OFF & FWPSA_PR32 & WDTPS_PS2048 #ifndef PLL_96MHZ_ON #define PLL_96MHZ_ON PLL96DIS_ON //for MPLAB C30 version < 3.12 #endif _CONFIG2(PLL_96MHZ_ON & IESO_OFF & FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMOD_XT & FNOSC_PRIPLL & PLLDIV_DIV2 & IOL1WAY_ON) int main(void){ INITPPS(); INITBITOUT(); MODULE_INIT (iic); MODULE_INIT (timer1); MODULE_INIT (adcon); while(TRUE){ MODULE_HANDLE(timer1); MODULE_HANDLE(adcon); restart_wdt(); } } Vielen Dank im Vorraus schonmal. Gruß Alex