Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Semplicissimo programma non funziona sul PIC

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] Semplicissimo programma non funziona sul PIC

Messaggioda Foto UtenteTricka90 » 6 set 2014, 15:44

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
Avatar utente
Foto UtenteTricka90
662 1 6 10
Expert
Expert
 
Messaggi: 627
Iscritto il: 1 lug 2013, 15:53

1
voti

[2] Re: Semplicissimo programma non funziona sul PIC

Messaggioda Foto Utentesimo85 » 6 set 2014, 15:53

Secondo me manca la direttiva "include" per qualche libreria.

Perché non usi xc8 ?
Avatar utente
Foto Utentesimo85
30,8k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9930
Iscritto il: 30 ago 2010, 4:59

0
voti

[3] Re: Semplicissimo programma non funziona sul PIC

Messaggioda Foto UtenteTricka90 » 7 set 2014, 9:19

Non conosco xc8, di cosa si tratta? E' forse una qualche versione di MPLAB?
Avatar utente
Foto UtenteTricka90
662 1 6 10
Expert
Expert
 
Messaggi: 627
Iscritto il: 1 lug 2013, 15:53

0
voti

[4] Re: Semplicissimo programma non funziona sul PIC

Messaggioda Foto Utenteemacar » 7 set 2014, 11:50

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.
Avatar utente
Foto Utenteemacar
156 6
Frequentatore
Frequentatore
 
Messaggi: 145
Iscritto il: 3 dic 2013, 11:02

0
voti

[5] Re: Semplicissimo programma non funziona sul PIC

Messaggioda Foto Utentegiovannispina » 7 set 2014, 13:16

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.
Avatar utente
Foto Utentegiovannispina
126 1 3
 
Messaggi: 43
Iscritto il: 27 lug 2013, 12:31

1
voti

[6] Re: Semplicissimo programma non funziona sul PIC

Messaggioda Foto UtenteTricka90 » 7 set 2014, 14:01

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:
Avatar utente
Foto UtenteTricka90
662 1 6 10
Expert
Expert
 
Messaggi: 627
Iscritto il: 1 lug 2013, 15:53

1
voti

[7] Re: Semplicissimo programma non funziona sul PIC

Messaggioda Foto Utentegiovannispina » 7 set 2014, 14:03

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
Avatar utente
Foto Utentegiovannispina
126 1 3
 
Messaggi: 43
Iscritto il: 27 lug 2013, 12:31

1
voti

[8] Re: Semplicissimo programma non funziona sul PIC

Messaggioda Foto UtenteTricka90 » 7 set 2014, 14:05

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
Avatar utente
Foto UtenteTricka90
662 1 6 10
Expert
Expert
 
Messaggi: 627
Iscritto il: 1 lug 2013, 15:53


Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite