Vai al contenuto
PLC Forum


Programmazione Pic16f84 In C


mario8686

Messaggi consigliati

Salve,

è da poco che sto smanettando con i pic e ho realizzato anche qualche circuitino con esiti positivi scopiazzando il codice in c e programmando il controllore con un programmatore fiser da me realizzato e perfettamente funzionante.

Ora però per prova ho scritto questo codice estremamente semplice

void main() {

PORTB = 10;

TRISB = 0;

}

che mi dovrebbe accendere un led su due uscite del pic.

ma realizzato il circuito mi succede che il led lampeggia invece di accendersi fisso ?

Il circuito è realizzato bene quindi è da escludere un problema hardware.

Il codice è errato? perchè i led lampeggiano e poi toccando il quarzo la frequenza di lampeggio aumenta pure.

Insomma con quel codice non dovrebbero accendersi fissi i due led...??????

Modificato: da mario8686
Link al commento
Condividi su altri siti


Ciao.

Che PIC hai usato ?

Prova a mettere “while (1);” dopo l'istruzione “TRISB = 0;”

Il main continua l'esecuzione dopo la "trisb e quindi non è prevedibile quali istruzioni incontra. Probabilmente riparte da 0.

wink.gif

Link al commento
Condividi su altri siti

e' poco anche io che traffico con i pic, ma provo a dare dei consigli,

.il programma deve continuare in un loop chiuso, altrimenti non è prevedebile, racchiudilo entro un ciclo while oppure entro un goto in modo che continui all'inifinito.

.se non configuri il micro, può pure essere che il watch-dog-timer sia abilitato e che ti mandi il reset in automatico.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...