- Messaggi: 22
- Ringraziamenti ricevuti 6
Non funziona il _delay() per 12F683
7 Anni 5 Mesi fa #11
da Pascolo
Risposta da Pascolo al topic Non funziona il _delay() per 12F683
Lello esatto, il tuo micro non è supportato.
Se vuoi dai uno sguardo al PIC12F1572.
Se vuoi dai uno sguardo al PIC12F1572.
Ringraziano per il messaggio: Lello Guidi
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Pascolo
- Junior Member
Riduci
Di più
7 Anni 5 Mesi fa #12
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Non funziona il _delay() per 12F683
Se fai uso della libreria LurTec 3.x, devi includere delay.h e delay.c oltre ad impostare i percorsi degli include relativi alla libreria. la libreria fa uso delle macro supportate dal compilatore XC8.
In generale, quando fai uso di funzioni/macro delay fai attenzione al valore massimo che puoi passare come parametro.
1000000 potrebbe non essere accettato o causare un overflow, ovvero essere causa di un delay molto inferiore di quello che ti aspetti, per cui il LED sembra sempre acceso.
Saluti,
Mauro
In generale, quando fai uso di funzioni/macro delay fai attenzione al valore massimo che puoi passare come parametro.
1000000 potrebbe non essere accettato o causare un overflow, ovvero essere causa di un delay molto inferiore di quello che ti aspetti, per cui il LED sembra sempre acceso.
Saluti,
Mauro
Ringraziano per il messaggio: Lello Guidi
Si prega Accedi o Crea un account a partecipare alla conversazione.
7 Anni 5 Mesi fa #13
da Lello Guidi
Ho cambiato il pic mettendo il 12F1572 e ho generato due files con il MCC.
Ma come li linko al main.c, come li inserisco nel progetto.
Ho provato con gli #include "#include <mcc.c>, #include <pin_manager>"ma mi genera errore tipo:
Main.c:18: error: (141) can't open include file "mcc.c": No such file or directory.
Ho provato al compilatore XC8 a includere nelle directory il "MCC Genrated files" ma mi da il medesimo errore.
Come devo fare?
Saluti
LelloGi
Risposta da Lello Guidi al topic Non funziona il _delay() per 12F683
Pascolo ha scritto: Per chi non lo usa dovreste provare MPLABX con il Code Configurator (MCC).
Ti permette di impostare tutte le periferiche del micro in 60 sec. generando il MAIN con incluse tutte le inizializzazione delle periferiche.
Credetemi, se lo provate non riuscirete piu' a farne a meno...
Ivan
Ho cambiato il pic mettendo il 12F1572 e ho generato due files con il MCC.
Ma come li linko al main.c, come li inserisco nel progetto.
Ho provato con gli #include "#include <mcc.c>, #include <pin_manager>"ma mi genera errore tipo:
Main.c:18: error: (141) can't open include file "mcc.c": No such file or directory.
Ho provato al compilatore XC8 a includere nelle directory il "MCC Genrated files" ma mi da il medesimo errore.
Come devo fare?
Saluti
LelloGi
Si prega Accedi o Crea un account a partecipare alla conversazione.
7 Anni 5 Mesi fa - 7 Anni 5 Mesi fa #14
da Pascolo
Risposta da Pascolo al topic Non funziona il _delay() per 12F683
Non devi includere niente,il MCC ha già incluso quello che gli serve.
Dovresti aprire il file main.c e trovare quanto segue (ti ho allegato il file 12F1572.x del progetto di base):
#include "mcc_generated_files/mcc.h"
/*
Main application
*/
void main(void)
{
// initialize the device
SYSTEM_Initialize();
// When using interrupts, you need to set the Global and Peripheral Interrupt Enable bits
// Use the following macros to:
// Enable the Global Interrupts
//INTERRUPT_GlobalInterruptEnable();
// Enable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptEnable();
// Disable the Global Interrupts
//INTERRUPT_GlobalInterruptDisable();
// Disable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptDisable();
while (1)
{
// Add your application code
}
}
Dovresti aprire il file main.c e trovare quanto segue (ti ho allegato il file 12F1572.x del progetto di base):
#include "mcc_generated_files/mcc.h"
/*
Main application
*/
void main(void)
{
// initialize the device
SYSTEM_Initialize();
// When using interrupts, you need to set the Global and Peripheral Interrupt Enable bits
// Use the following macros to:
// Enable the Global Interrupts
//INTERRUPT_GlobalInterruptEnable();
// Enable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptEnable();
// Disable the Global Interrupts
//INTERRUPT_GlobalInterruptDisable();
// Disable the Peripheral Interrupts
//INTERRUPT_PeripheralInterruptDisable();
while (1)
{
// Add your application code
}
}
Ultima Modifica 7 Anni 5 Mesi fa da Pascolo.
Ringraziano per il messaggio: Lello Guidi
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Pascolo
- Junior Member
Riduci
Di più
- Messaggi: 22
- Ringraziamenti ricevuti 6
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.