Libreria LTlib_delay con clock a 31,25kHz

  • Bandini
  • Autore della discussione
  • Nuovo Utente
  • Nuovo Utente
Di più
6 Anni 3 Mesi fa - 6 Anni 3 Mesi fa #1 da Bandini
Libreria LTlib_delay con clock a 31,25kHz è stato creato da Bandini
Salve a tutti, avrei un quesito de porre sperando che qualcuno possa aver avuto la mia stessa esigenza.
Sto utilizzando il compilatore XC8 con un PIC12LF1840 che faccio lavorare con il clock interno a 31,25kHz. Come devo settare il quarzo per la libreria LTlib_delay?

Grazie per l'attenzione
Ultima Modifica 6 Anni 3 Mesi fa da Bandini.

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
6 Anni 3 Mesi fa - 6 Anni 3 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Libreria LTlib_delay con clock a 31,25kHz
SAlve Bandini,

devi modificare il file LTlib.h che trovi nella cartella conf.
In particolare il valore impostato è:

Code:
#ifndef SYSTEM_CLOCK #define SYSTEM_CLOCK 20000000 #endif

ed è espresso in Hz.
Per cui nel tuo caso deve essere:

Code:
#ifndef SYSTEM_CLOCK #define SYSTEM_CLOCK 31250 #endif


Il PIC che hai selezionato non è direttamente supportato, per cui devi aggiungerlo nel file LTlib.h, come per gli altri PIC supportati.

In più devi aggiungere il file di configurazione come per gli altri PIC supportati (gli esempi nella cartella conf).

La libreria module_IO deve essere modificata per poter supportare il numero di porte che ti serve.
La libreria LTlib_delay supporta il clock solo espresso in MHz quindi se metti 1MHz hai un fattore 32 più grande.
Mettendo pause di 1 ms avrai 32ms.

Saluti,

Mauro
Ultima Modifica 6 Anni 3 Mesi fa da Mauro Laurenti.

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
6 Anni 3 Mesi fa - 6 Anni 3 Mesi fa #3 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Libreria LTlib_delay con clock a 31,25kHz
Se questo non dovesse andare bene, puoi modificare il file LTlib.c che trovi nella cartella src:

#ifdef __XC8
//1ms Delay at 1MHz trimmed down to 240 instead of 250
//to compensate the main loop
_delay(240);
#endif

se al posto di 240 scrivi 8, avrai, impostando la frequenza ad 1MHz, il valore esatto di ritardi (circa).

Per impostare la frequenza ad 1MHz devi cambiare:

volatile unsigned char delay_quartz_frequency_value = 20;

oppure eseguire la funzione delay_set_quartz (1); prima di usare altre funzioni delay_xxx.

Saluti,

Mauro
Ultima Modifica 6 Anni 3 Mesi fa da Mauro Laurenti.

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Bandini
  • Autore della discussione
  • Nuovo Utente
  • Nuovo Utente
Di più
6 Anni 3 Mesi fa #4 da Bandini
Risposta da Bandini al topic Libreria LTlib_delay con clock a 31,25kHz
Grazie mille Mauro. Domani se riesco faccio quanto mi hai suggerito poi ti farò sepere.

Come sempre grazie per la disponibilità.

Si prega Accesso o Crea un account a partecipare alla conversazione.

Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Forum - Ultimi messaggi