Ciao non riesco a capire come mai mi da
main.c: In function '_ADCInterrupt':
main.c:40: error: syntax error before '>' token
e la riga 40 è evidenziata in rosso
graziecodice:void _ISR _ADCInterrupt() { //Sintassi della routine di interrupt dell’ADC int dc, errorIi; _RD0=1; //Flag per la misura dei tempi di esecuzione. Può essere omesso. /*************************************************** REGOLATORE DI CORRENTE: metodo dei trapezi ***************************************************/ correnteIp=((CORRENTEP-OFFSET_I))<<3; //riporto la corrente a 12bit errorI=(riferimentoIp-correnteIp); //calcolo l’errore //INTEGRALE: errorIi=errorI_1+errorI; //errore x l’integrale=errore attuale + errore precedente if((errorIi>=0)) integraleIp+=INTEGRALEI((errorIi)); else integraleIp-=INTEGRALEI((-errorIi)); //PROPORZIONALE: vd_out=PROPORZIONALEI((errorI))+(int)(integraleIp >> 12); if (vd_out > VDUP) vd_out=VDUP; else { if(vd_out < VDDW) vd_out=VDDW; } /*************************************************** USCITA riportata sul DC ***************************************************/ vd_out+=V_OFFSET; //porto il valore da 0 a 8191 (->13bit) dc=GET_DC(vd_out); if(dc>DCUP) dc=DCUP; //Controllo precauzionale sul DC else if(dc<DCDW) dc=DCDW; PDC2=dc; PDC1=DUTYCYM-dc; /*********************************************** TRATTAMENTO FINALE DELLE VARIABILI ***********************************************/ if(integraleIp>TKIUPI) integraleIp=TKIUPI; else if(integraleIp<TKIDWI) integraleIp=TKIDWI; errorI_1=errorI; _ADIF=0; _RD0=0; _RD0=0; //Flag per la misura dei tempi di esecuzione. Può essere omesso. }
Cencia