Vai al contenuto
PLC Forum


Set Reset Con Un Pic12f675


venti

Messaggi consigliati

Come avete capito dal titolo, volevo realizzare un set reset utilizzando un pulsante, agganciato al pic.

Questa è a sommi capi il codice:

void ConfiguraPic();
// Settaggiio e definizioni
#define PULS gpio.F5
#define LED gpio.F2

//Cuore del programma
void main()
{
if (LED = 0) {
     if (PULS ==1) {
     LED = 1;
     }
}
if (Led = 1){
     f (PULS ==1) {
     LED = 0;
     }
}

void ConfiguraPic();
}

//Configura pic

void ConfiguraPic (void) {
OPTION_REG.F7 = 0; //Abilita i pull-up
WPU.F5 = 1; //Abilita pull-up sul GP5
}

Questo codice è a sommi capi quello che volevo fare io, ma non funziona. Utilizzo il MIkroC

per la gestione del codice. Ma se è gratuito, potrei utilizzar eil C dell Microchip e dove scaricarlo?

Grazie

Modificato: da venti
Link al commento
Condividi su altri siti


A me pare che manchino alcune cose fondamentali nel codice:

//Configura pic

void ConfiguraPic (void) {
OPTION_REG.F7 = 0; //Abilita i pull-up
WPU.F5 = 1; //Abilita pull-up sul GP5
}

Questa subroutine non viene mai chiamata all'interno della main, come l'hai scritta tu, è solamente una dichiarazione, inoltre manca il loop per consentire la gestione delle espressioni condizionali...

Così com'è, appena accendi il microcontrollore ha già praticamente terminato tutto in 1 ms...

Link al commento
Condividi su altri siti

C'e' un po' di cofusione.

Come detto al post precedente (GiRock) manca un "while (1)".

Non definisci il tipo di PIC in uso e la sua configurazione (oscillatore, reset, ecc.)

Non tieni conto del debouncing del pulsante.

L'espressione "if (LED = 0)" assegna al LED il valore 0 (forse e' un errore di battitura ?).

Strano che il compilatore non dia almeno un warning.

Per il compilatore esiste una versione lite che e' gratuita, ma non ha alcune funzionalità

come la printf e una ottimizzazione avanzata.

Lo trovi sul sito Microchip:qui

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...