"interrupt disabled during call to prevent re-entrancy
premetto che il delay è nel main,mentre tutti gli altri sono all'interno della sub di interrupt...
qualche consiglio???
Moderatore:
Paolino
Matteo91 ha scritto:qualche consiglio???


Paolino ha scritto:all'interno delle routine di interrupt, i ritardi con funzioni tipo delay oppure "cicli for" di conteggio vanno evitati come la peste!
DonJ ha scritto:Avrai fatto un poccio di quelli che ci perdi un'ora per poi scoprire che era una virgola.![]()
void main()
{
setup_adc_ports(AN0_VREF_VREF);//settaggio del canale A0 e vref+ = A3 ;Vref- = A2
setup_adc(ADC_OFF);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
enable_interrupts(GLOBAL);
enable_interrupts(INT_RB);
lcd_init();
PWM=10; //variabile di prova!
while(1){
lcd_putc("\f"); //pulitura il display
lcd_gotoxy(1,1);
lcd_putc("PWM al:");
lcd_gotoxy(1,8);
printf(lcd_putc,"%u",PWM); //scrive sul display il valore del PWM
}
}
/// l'errore me lo da in questa linea...ma non c'è niente!!! :shock:
c1b8 ha scritto:Il codice che hai postato non mi pare abbia problemi, ma è solo una parte del sorgente. Il problema potrebbe essere da altre parti.
Ad esempio in una funzione precedente al main ci potrebbero essere o mancare delle { o delle }.
Torna a Firmware e programmazione
Visitano il forum: Nessuno e 19 ospiti