- Messaggi: 1222
- Ringraziamenti ricevuti 104
usart c18 step by step con compilatore xc8
11 Anni 2 Mesi fa #11
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic usart c18 step by step con compilatore xc8
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Ringraziano per il messaggio: alpignolo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
11 Anni 2 Mesi fa #12
da alpignolo
Risposta da alpignolo al topic usart c18 step by step con compilatore xc8
Provato, il test funziona... non so più cosa pensare, se il programma di test usa le stesse librerie che uso io non dovrebbe andare...
nel frattempo ho provato a fare delle verifiche sui ritardi creando un onda quadra che dovrebbe avere la frequenza di 50Hz. Ho eseguito la misura di frequenza con un multimetro (multimetro scadente spero che le misurazioni siano attendibili)
ho modificato il programma che accende il led su RD0...
Risultati:
56.20hz con #pragma config CPUDIV =OSC1_PLL2 ritardi laurtec
18.73hz con #pragma config CPUDIV =OSC3_PLL4 ritardi laurtec
8.33hz con #pragma config CPUDIV =OSC3_PLL4 ritardi microchip
24.99hz con #pragma config CPUDIV =OSC1_PLL2 ritardi microchip
quindi sembra che la configurazione più precisa per i ritardi sia #pragma config CPUDIV =OSC1_PLL2 con i ritardi della libreria laurtec che da una frequenza di 56.20Hz quindi un ritardo effettivo di circa 18ms
Andrea
nel frattempo ho provato a fare delle verifiche sui ritardi creando un onda quadra che dovrebbe avere la frequenza di 50Hz. Ho eseguito la misura di frequenza con un multimetro (multimetro scadente spero che le misurazioni siano attendibili)
ho modificato il programma che accende il led su RD0...
while(1) {
delay_ms(20);
LED=ON;
delay_ms(20);
LED=OFF;
Risultati:
56.20hz con #pragma config CPUDIV =OSC1_PLL2 ritardi laurtec
18.73hz con #pragma config CPUDIV =OSC3_PLL4 ritardi laurtec
8.33hz con #pragma config CPUDIV =OSC3_PLL4 ritardi microchip
24.99hz con #pragma config CPUDIV =OSC1_PLL2 ritardi microchip
quindi sembra che la configurazione più precisa per i ritardi sia #pragma config CPUDIV =OSC1_PLL2 con i ritardi della libreria laurtec che da una frequenza di 56.20Hz quindi un ritardo effettivo di circa 18ms
Andrea
Si prega Accedi o Crea un account a partecipare alla conversazione.
- alpignolo
- Autore della discussione
- Junior Member
Riduci
Di più
- Messaggi: 33
- Ringraziamenti ricevuti 1
11 Anni 2 Mesi fa #13
da Mauro Laurenti
Risposta da Mauro Laurenti al topic usart c18 step by step con compilatore xc8
Ciao Andrea,
nei prossimi giorni vedro' in dettaglio i messaggi e ricontrollero' le impostazioni.
In ogni modo se con il programma di test funziona, vuol dire che l'hardware e' funzionante.
Le librerie per il file hex che hai usato sono la versione 2.5 o 2.2, non ricordo.
Nella versione 3.x ho apportato diverse modifiche per cui posso aver introdotto qualche errore/problema.
In generale pero' se la frequenza diminuisce vuol dire che il clock e' piu' lento del dovuto.
Questo crea problemi alla comunicazione seriale (baud rate errato) ma il display LCD, pur visualizzando i caratteri lentamente, dovrebbe funzionare correttamente.
Saluti,
Mauro
nei prossimi giorni vedro' in dettaglio i messaggi e ricontrollero' le impostazioni.
In ogni modo se con il programma di test funziona, vuol dire che l'hardware e' funzionante.
Le librerie per il file hex che hai usato sono la versione 2.5 o 2.2, non ricordo.
Nella versione 3.x ho apportato diverse modifiche per cui posso aver introdotto qualche errore/problema.
In generale pero' se la frequenza diminuisce vuol dire che il clock e' piu' lento del dovuto.
Questo crea problemi alla comunicazione seriale (baud rate errato) ma il display LCD, pur visualizzando i caratteri lentamente, dovrebbe funzionare correttamente.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
11 Anni 2 Mesi fa #14
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic usart c18 step by step con compilatore xc8
Ciao Andrea, mi sembra che i ritardi microchip siano (con le dovute approssimazioni) la metà dei ritardi laurtec. Questo può essere significativo...
stasera provo anch'io sulla freedom e ti farò sapere i risultati.
Marcello
stasera provo anch'io sulla freedom e ti farò sapere i risultati.
Marcello
Chi vola vale, chi vale vola, chi non vola è un vile
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Pinna
- Moderator
Riduci
Di più
- Messaggi: 1010
- Ringraziamenti ricevuti 107
11 Anni 2 Mesi fa - 11 Anni 2 Mesi fa #15
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic usart c18 step by step con compilatore xc8
diciamo che ho provato adesso a ricompilare il programma hello world con mplabX 1.51 e xc8 1.12. Senza apportare nessuna modifica ai ritardi previsti in LCD_44780.c e LCD_44780.h, ed usando le versioni di delay.c e delay.h presenti nelle ultime librerie lautec, il programma viene compilato correttamente e soprattutto funziona. L'unica cosa che ho fatto è stato commentare il richiamo a delay.h nel file LCD_44780.h, in quanto presente nella cartella del progetto. Nel main ho cancellato le configuration bits in quanto inutili, visto che sono già contenute in PIC18F4550_config. Quest'ultimo file l'ho rinominato come PIC18F4550_config_usart ed il PLLDIV è impostato ad 1. Puoi provare il tutto sul tuo sistema? ti allego la cartella
Marcello
Edit: volevo dire CPUDIV=OSC1_PLL2. (PLLDIV non c'entra nulla)
Marcello
Edit: volevo dire CPUDIV=OSC1_PLL2. (PLLDIV non c'entra nulla)
Chi vola vale, chi vale vola, chi non vola è un vile
Ultima Modifica 11 Anni 2 Mesi fa da Pinna.
Ringraziano per il messaggio: alpignolo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Pinna
- Moderator
Riduci
Di più
- Messaggi: 1010
- Ringraziamenti ricevuti 107
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.