Pagina 1 di 1

Semplicissimo programma non funziona sul PIC

MessaggioInviato: 6 set 2014, 15:44
da Tricka90
Ciao a tutti ragazzi.

Ho appena acquistato la Demo Board che davano col PicKit2 (https://www.google.it/url?sa=t&rct=j&q= ... 9129,d.ZWU) sulla quale è montato il PIC18F45K20 (http://ww1.microchip.com/downloads/en/D ... 41303G.pdf).

Con MikroC ho scritto questo semplicissimo programma per far accendere gli 8 LED:
Codice: Seleziona tutto
void main(void)
{

TRISD = 0;
PORTD = 1;

while(1)
{
}
}

Il programma è banalissimo eppure non funziona. Dato che ho un altro file .hex il quale se scritto sul PIC funziona benissimo ho la certezza che la procedura di scrittura sia corretta.
Perciò sto sicuramente sbagliando qualche impostazione nel mio programma.
Ho provato anche a cambiare Oscillatore ma niente da fare...vi viene in mente qualcosa?
Grazie anticipatamente :D

Re: Semplicissimo programma non funziona sul PIC

MessaggioInviato: 6 set 2014, 15:53
da simo85
Secondo me manca la direttiva "include" per qualche libreria.

Perché non usi xc8 ?

Re: Semplicissimo programma non funziona sul PIC

MessaggioInviato: 7 set 2014, 9:19
da Tricka90
Non conosco xc8, di cosa si tratta? E' forse una qualche versione di MPLAB?

Re: Semplicissimo programma non funziona sul PIC

MessaggioInviato: 7 set 2014, 11:50
da emacar
Tricka90 ha scritto:Non conosco xc8, di cosa si tratta? E' forse una qualche versione di MPLAB?

No, è un compilatore, lo usi al posto di MikroC.

Re: Semplicissimo programma non funziona sul PIC

MessaggioInviato: 7 set 2014, 13:16
da giovannispina
Tricka90 ha scritto:Ciao a tutti ragazzi.

Ho appena acquistato la Demo Board che davano col PicKit2 (https://www.google.it/url?sa=t&rct=j&q= ... 9129,d.ZWU) sulla quale è montato il PIC18F45K20 (http://ww1.microchip.com/downloads/en/D ... 41303G.pdf).

Con MikroC ho scritto questo semplicissimo programma per far accendere gli 8 LED:
Codice: Seleziona tutto
void main(void)
{

TRISD = 0;
PORTD = 1;

while(1)
{
}
}

Il programma è banalissimo eppure non funziona. Dato che ho un altro file .hex il quale se scritto sul PIC funziona benissimo ho la certezza che la procedura di scrittura sia corretta.
Perciò sto sicuramente sbagliando qualche impostazione nel mio programma.
Ho provato anche a cambiare Oscillatore ma niente da fare...vi viene in mente qualcosa?
Grazie anticipatamente :D


Sicuro che hai settato il giusto PIC nel progetto di MikroC?
Alcune PORTD sono analogiche? Se sì, vanno settate a digitali.
PORTD dovresti usarlo solo per leggere, per la scrittura usa LATD.

Re: Semplicissimo programma non funziona sul PIC

MessaggioInviato: 7 set 2014, 14:01
da Tricka90
Ragazzi, scusate, ho finalmente capito l'errore!
Innanzitutto, per accendere tutti i LED ho scritto "PORTD = 1" invece che "PORTD = 0xFF"; a parte questo banalissimo errore, sono riuscito a risolvere andando nei FUSES e impostando MCLR su Disabled. Infatti, guardando lo schema della Demo Board, ho notato che il pin MCLR non è come al solito connesso alla classica resistenza verso Vdd, quindi in stato di HIGH, è bensì in stato di LOW. Quindi il PIC era costantemente in Reset e per questo non funzionava! :cool:

Re: Semplicissimo programma non funziona sul PIC

MessaggioInviato: 7 set 2014, 14:03
da giovannispina
Tricka90 ha scritto:Ragazzi, scusate, ho finalmente capito l'errore!
Innanzitutto, per accendere tutti i LED ho scritto "PORTD = 1" invece che "PORTD = 0xFF"; a parte questo banalissimo errore, sono riuscito a risolvere andando nei FUSES e impostando MCLR su Disabled. Infatti, guardando lo schema della Demo Board, ho notato che il pin MCLR non è come al solito connesso alla classica resistenza verso Vdd, quindi in stato di HIGH, è bensì in stato di LOW. Quindi il PIC era costantemente in Reset e per questo non funzionava! :cool:


ahahah no dai, spesso faccio lo stesso errore. Infatti non me ne ero accorto :D

Re: Semplicissimo programma non funziona sul PIC

MessaggioInviato: 7 set 2014, 14:05
da Tricka90
ahahah no dai, spesso faccio lo stesso errore. Infatti non me ne ero accorto :D


ahahahaha figurati che ero tutta la giornata di ieri che leggevo il manuale alla ricerca di chissà quali problemi #-o