venti Inserito: 25 marzo 2011 Segnala Share Inserito: 25 marzo 2011 (modificato) 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 MIkroCper la gestione del codice. Ma se è gratuito, potrei utilizzar eil C dell Microchip e dove scaricarlo?Grazie Modificato: 25 marzo 2011 da venti Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 25 marzo 2011 Segnala Share Inserita: 25 marzo 2011 Cosa non funziona? La sub di reset? Cosa vorresti far fare al reset? Link al commento Condividi su altri siti More sharing options...
GiRock Inserita: 25 marzo 2011 Segnala Share Inserita: 25 marzo 2011 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 More sharing options...
kappa47 Inserita: 27 marzo 2011 Segnala Share Inserita: 27 marzo 2011 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 More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora