Moin,
ich habe inzwischen ein neues Problem mit meinem Board von IAR. Ich hab inzwischen damit angefangen alle Initialisierungen usw. (mehr oder weniger) selbst zu schreiben. Habs teilweise nur so geändert wie ich es brauche. Nun habe ich aber das Problemm, dass der Controller immer abstürzt wenn ich eine Funktion ausführe die ich vor der Main funktion deklariere. Hier einmal mein Code
Code:#include "iolpc1766.h" #include "intrinsics.h" void i2c_init(void) { PCONP=(1<<7); // Enable Power PCLKSEL0=(0<<14)|(1<<15); //PCLK = CCLK/2=50MHz PINSEL1=(1<<22)|(1<<24); //I2C Pinfunktion auswählen SETENA0=(1<<10); //I2C interrupt aktivieren } void i2c_start (void) { I2C0CONSET_bit.I2EN=1; } void test (void) { for(unsigned int a=0;a>15;a++); } void clock_init (void) { //PLL Interrupt aktivieren SCS_bit.OSCEN=0; PLL0CON_bit.PLLC = 0; //PLL abkoppeln PLL0FEED = 0xAA; PLL0FEED = 0x55; PLL0CON_bit.PLLE = 0; //PLL ausschalten PLL0FEED = 0xAA; PLL0FEED = 0x55; CLKSRCSEL &= ~(1<<0)|(1<<1); // internen Oszillator auswählen PLL0CFG_bit.MSEL = 75-1; //M=75,N=2 PLL0CFG_bit.NSEL = 2-1; PLL0FEED = 0xAA; PLL0FEED = 0x55; PLL0CON_bit.PLLE = 1; //PLL wieder einschalten PLL0FEED = 0xAA; PLL0FEED = 0x55; while(!PLL0STAT_bit.PLOCK); //warten bis PLL fertig ist CCLKCFG = 3-1; //CCLK= Fcco/3 PLL0CON_bit.PLLC = 1; // PLL ankoppeln PLL0FEED = 0xAA; PLL0FEED = 0x55; } void clock_output_init(void) //stellt den Takt für die Kamera auf P1.27 bereit { CLKOUTCFG_bit.CLKOUT_EN =0; CLKOUTCFG &= ~(1<<0)|(1<<1)|(1<<2)|(1<<3); //CCLK auswählen CLKOUTCFG = (1<<4)|(1<<5)|(1<<6); //duch 8 teilen 100/8=12,5 CLKOUTCFG_bit.CLKOUT_EN=1; } int main() { FLASHCFG=(1<<12)|(1<<14); SETENA0=(1<<16); test(); while(1) { } }
Wenn ich den Inhalt der Funktionen einfach so in die Main kopiere klappts. Nur wenn ich die funktionen aufrufe, wie in meinem code gerade die test() funktion. Stürzt er ab und macht gar nichts mehr. Zudem gibt er mir immer folgendes aus : "Tue Apr 05 13:29:35 2011: The stack 'CSTACK' is filled to 100% (1024 bytes used out of 1024). The warning threshold is set to 90.% ". Mit der Meldung kann ich auch nur sehr wenig anfangen. Kann mir da jemand weiterhelfen? Wobei die Warunung nicht unbedingt im zusammenhang mit meinem Problem steht, da sie immer auftaucht sobald ich das programme downloade.
mfg
Erik







Zitieren

Lesezeichen