problemi con il pic16f877

ciao a tutti,

sono alle prime prese con la programmazione di un microcontroller .. in particolare sto utilizzando un PIC16F877 e s to cercando di programmarlo (in C) con MPLAB v8.00.

1.Non riesco a capire perch=E8 il seguente listato mi fa lampeggiare il led su RD0 solo per 12 volte poi si spegne definitivamente (insieme a RD4).Interviene qualche contatore?

#include #include "delay.c" void pausa(char x);

main (void) {

GIE=3D0x00; //disabilito interrupt TRISD=3D0x00; //porte D come uscita TRISE=3D0x00; PORTD=3D0x00; PORTE=3D0x00;

for(;;){ PORTD=3D0x11; pausa(4); PORTD=3D0x10; pausa(4);}

}

void pausa(char x) { unsigned int temp; for(temp=3D0; temp

Reply to
daniele
Loading thread data ...

che compilatore C usi ?

simone.bern

Reply to
simone.bern

Hai disattivato il watchdog?

Reply to
Darwin

GRAZIE1000 .... ho disattivato il watchdog e adesso funziona tutto!!!

grazie ancora!

Reply to
daniele

Anche io ci sto studiando un pò dietro ma il mio codice mi sembra mille anni luce piu semplice.. ecco il listato per far lampeggiare un led in RB0:

#include #device adc=8 #use delay(clock=20000000) #fuses NOWDT,RC, NOPUT, NOPROTECT, BROWNOUT, LVP, NOCPD, NOWRT, NODEBUG

void main() {

setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_spi(FALSE); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); // tutta la parte di codice qua sopra l'ha generata automaticamente il compilatore // quando ho creato questo nuovo progetto set_tris_b(0b00000000); //setto tutto il port b come uscita output_b(0b00000000); //presetto tutte le uscite a zero while(true) { output_high(PIN_B0); // metto a 1 il pin B0 delay_ms(500); // aspetto 500ms output_low(PIN_B0); // metto a 0 il pin B0 delay_ms(500); }

}

io uso "PCWH compiler".. giusto domani preparerò un pò di esempi commentati da mandare ad un amico che sta imparando; se mi dai la tua mail mando una copia anche a te.

--
Davide C.
www.ingegnerando.it



questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news segnala gli abusi ad abuse@newsland.it
Reply to
ahrfukkio

cosa che si capiva al primo sguardo.... chiedevo all'amico, perch=E8 non ho visto direttive del pre-compilatore nel suo codice.

grazie giovane arkfukkio, ma temo di aver gi=E0 sperimentato l'entusiasmo dei primi rudimenti ... :-)

simone.bern

Reply to
simone.bern

si in effetti ho fatto il reply al post sbagliato.. mi riferivo chiaramente a Daniele :P :D

--
Davide C.
www.ingegnerando.it



questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news segnala gli abusi ad abuse@newsland.it
Reply to
ahrfukkio

anche io uso questo... tu sei passato alla versione 4 oppure sei rimasto con la 3?

-ice-

Reply to
ice
*GRAZIE1000 .... ho disattivato il watchdog e adesso funziona tutto!!!* strano però... se era solo il wdt allora doveva fare una pausa (reset) e poi altri 12 lampeggi, no?

-ice-

Reply to
ice

per ora uso la 3.. visto che mi funziona benissimo non avevo neanche pensato a cercarne versioni successive.. come è questa versione 4? che tu sappia offre qualcosa di interessante?

--
Davide C.
www.ingegnerando.it



questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news segnala gli abusi ad abuse@newsland.it
Reply to
ahrfukkio

l'ide è abbastanza scadente, come nella 3 lo uso a linea di comando con un editor esterno

nella v4 ci sono gli array di bit, overloading, funzioni a parametri variabili in numero e altre cose che non ho ancora avuto modo di testare... tra cui la possibilità di creare oggetti e linkarli senza ricompilare tutto ogni volta

il fatto è che per il pch (solo cmd line, niente ide) ci vogliono 200 dollari... per cui per ora mi tengo la 3 e ho fatto un po' di esperimenti da un amico che ha la 4 mi trovo bene con questo compilatore, inizio a conoscerlo come si deve e soprattutto nell'icd che mi sono costruito ci ho messo dentro il loro firmware così riesco a farci anche debugging

forse però dovendo acquistare una nuova licenza prenderei il c della microchip... sono indeciso :)

-ice-

Reply to
ice

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.