Hallo zusammen, ich breche mir einen ab, ein einfaches Interrupt Programm auf dem C6713 ans Laufen zu bringen. Das Programm sieht wie folgt aus: //sine8_buf Sine generation. Output buffer plotted within CCS #include "dsk6713_aic23.h" //support file for codec,DSK Uint32 fs=DSK6713_AIC23_FREQ_8KHZ; //set sampling rate int loop = 0; //table index short gain = 10; //gain factor short sine_table[8]={0,707,1000,707,0,-707,-1000,-707};//sine values short out_buffer[256]; //output buffer const short BUFFERLENGTH = 256; //size of output buffer int i = 0; //for buffer count interrupt void c_int11() //interrupt service routine { output_sample(sine_table[loop]*gain); //output sine values out_buffer[i] = sine_table[loop]*gain; //output to buffer i++; //increment buffer count if(i==BUFFERLENGTH) i=0; //if @ bottom reinit count if (loop < 7) ++loop; //check for end of table else loop = 0; //reinit table index return; //return from interrupt } void main() { comm_intr(); //init DSK, codec, McBSP while(1); //infinite loop } Die Headerdatei beinhaltet folgende, in der main Funktion benutzte, Initalfunktion für Interrupts: void comm_intr() //for communication/init using interrupt { //Polling deaktivieren //poll auf 1 bedeutet das Polling genutzt wird //poll auf 0 bedeutet das Polling nicht genutzt werd poll=0; IRQ_globalDisable(); c6713_dsk_init(); CODECEventId=MCBSP_getXmtEventId(DSK6713_AIC23_codecdatahandle); #ifndef using_bios IRQ_setVecs(vectors); #endif IRQ_map(CODECEventId, 11); IRQ_reset(CODECEventId); IRQ_globalEnable(); IRQ_nmiEnable(); IRQ_enable(CODECEventId); output_sample(0); } Das verwendete Vector_intr.asm File ist angehängt. Dummerweise wird die ISR nicht aufgerufen. Kann mir bitte jemand einen Hinweise geben wo ich Mist baue? Gruß Haeger P.S.: Der verwendete Source-Code ist eins zu eins aus dem Buch Digital Signal Processing and Apps with C6713 and C6416 DSk von Rulph Chassaing übernommen. Sollte daher eigentlich out-of-the-box funktionieren. Eigentlich...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.