Bo ho riguardato il sorgente , a me sembra tutto a posto .
I led non possono essere accesi ci sono 2 istruzioni ciascuno che li spengono .
LATA=0;
LATB=0;
LATC=0;
LATD=0;
LATE=0;
e poi
LED_BLUE=0;
LED_GREEN=0;
all'avvio del programma dovresti avere led spenti e display retroilluminato ma senza caratteri visualizzati .
Potrebbe esserci un problema se hai TORCH_BUTTON a 0 invece che a 1 oppure qualche casino
se eri in modalita' DEBUG .
Se e' quello puoi provare a commentare tutto l'if del ciclo di saldatura ovvero
tutto questo blocco di codice
Codice:
if (!TORCH_BUTTON)
{
GAS_CTRL=1; //pregas
while (f=pre_gas){delay_ms(100);f++;} //pregas per f cicli da 100 millisecondi
HV_SPARK_CTRL=1; //attivazione alta frequenza
PWM_SEC=pol_innesco; //attivo pwm secondario con polarita' come da menu
PWMDC(innesco); //corrente con valore impostato da menu (valore innesco)
if (tempo_hf<tempo_innesco) //verifico se il tempo innesco è maggiore o minore del tempo hf
{
delay_ms(tempo_hf); //se tempo_hf e' minore attendo il tempo di alta frequenza
HV_SPARK_CTRL=0; //disattivo l'alta frequenzza
delay_ms((tempo_innesco-tempo_hf)); //attendo il tempo rimanente di innesco
ADCON0bits.DONE=1; //avvio retroazione avviando la conversione ADC
rampa=1; //avvio rampa salita impostando la variabile rampa su 1
timer1_50ms(); //avvio il timer 1
}
else
{
delay_ms(tempo_innesco); //se tempo_hf e' maggiore del tempo d'innesco attendo il tempo d'innesco
ADCON0bits.DONE=1; //avvio reatroazione avviando la conversione ADC
rampa=1; //avvio rampa salita impostando la variabile rampa su 1
timer1_50ms(); //avvio timer 1
delay_ms((tempo_hf-tempo_innesco)); //attendo il tempo rimanente di alta frequenza
HV_SPARK_CTRL=0; //disattivo l'alta frequenza
}
}