- Messaggi: 250
- Ringraziamenti ricevuti 0
Modifica Libreria di Laurenti per Pic 18F2550
11 Anni 5 Mesi fa #31
da luca2680
Risposta da luca2680 al topic Modifica Libreria di Laurenti per Pic 18F2550
ciao,ma quindi devo scrivere nel MAIN, #define D0 PORTBbits.RB0?(e un esempio a caso) cosi per tutte le porte?
Si prega Accedi o Crea un account a partecipare alla conversazione.
- luca2680
- Elite Member
Riduci
Di più
11 Anni 5 Mesi fa #32
da luca2680
Risposta da luca2680 al topic Modifica Libreria di Laurenti per Pic 18F2550
fatto ma niente...allego il main...
Si prega Accedi o Crea un account a partecipare alla conversazione.
- luca2680
- Elite Member
Riduci
Di più
- Messaggi: 250
- Ringraziamenti ricevuti 0
11 Anni 5 Mesi fa #33
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Modifica Libreria di Laurenti per Pic 18F2550
Ciao Luca,
per i define dei pin devi cambiare il file header dell'LCD.
Se li definisci nuovamente nel tuo programma il compilatore trova due definizioni per il pin.
L'include #include<p18f2550.h> deve essere il primo file da includere visto che contiene le definizioni dei registri del PIC.
Le librerie fanno uso di tali definizioni per cui #include<p18f2550.h> deve precedere le altre librerie....altrimenti i nomi non vengono trovati.
Saluti,
Mauro
Hai fatto bene a riaprire il topic.
Quando poi hai altre domande, apri altri topic in maniera da rendere il tutto separato.
Come vedi, avere un topic per domanda permette allo stesso di essere riutilizzato.
per i define dei pin devi cambiare il file header dell'LCD.
Se li definisci nuovamente nel tuo programma il compilatore trova due definizioni per il pin.
L'include #include<p18f2550.h> deve essere il primo file da includere visto che contiene le definizioni dei registri del PIC.
Le librerie fanno uso di tali definizioni per cui #include<p18f2550.h> deve precedere le altre librerie....altrimenti i nomi non vengono trovati.
Saluti,
Mauro
Hai fatto bene a riaprire il topic.
Quando poi hai altre domande, apri altri topic in maniera da rendere il tutto separato.
Come vedi, avere un topic per domanda permette allo stesso di essere riutilizzato.
Ringraziano per il messaggio: luca2680
Si prega Accedi o Crea un account a partecipare alla conversazione.
11 Anni 5 Mesi fa #34
da Pinna
Chi vola vale, chi vale vola, chi non vola è un vile
Risposta da Pinna al topic Modifica Libreria di Laurenti per Pic 18F2550
La risposta è SI. Se vuoi assegnare una variabile, supponiamo PIPPO, ad una porta del pic, esempio PORTB bit 0, nel main devi scrivere:
#define PIPPO PORTBbits.RB0 (oppure #define PIPPO LATBbits.LATB0, dipende da ciò che vuoi fare o ti è permesso dall'archittetura del microcontrollore)
Ora, se il tuo scopo è quello di far funzionare il display lcd con il 18f2550, ti dico solo questo:
nel tuo main ci devono essere scritti solo i fuses, i vari include e define e la tua routine principale.
poichè il 2550 non ha la PORTD e tu vuoi usare la PORTB, devi modificare SOLO (e SOLO) il file LCD_44780.h
non copiare nulla delle librerie LCD_44780.c e LCD_44780.h nel tuo main perchè, oltre a non servire a niente, ti causa un tale marasma che non ne esci più
Ultimo punto, forse il più importante e prendilo come un consiglio, quando hai un problema aiutaci dicendo dall'inizio l'hardware che usi (ovvero microcontrollore, quarzo utilizzato, se hai montato tutto su una breadboard o su stampato ecc.). In questo modo ci metti in condizione (parlo almeno per me) di poter replicare il tuo tentativo e di trovare l'inghippo. Per esempio, io ho una scheda con un 2550 montato sopra che mi è servito mesi fa per aiutare un amico del forum replicando il suo esperimento. Nel giro di due giorni abbiamo risolto tutto...
#define PIPPO PORTBbits.RB0 (oppure #define PIPPO LATBbits.LATB0, dipende da ciò che vuoi fare o ti è permesso dall'archittetura del microcontrollore)
Ora, se il tuo scopo è quello di far funzionare il display lcd con il 18f2550, ti dico solo questo:
nel tuo main ci devono essere scritti solo i fuses, i vari include e define e la tua routine principale.
poichè il 2550 non ha la PORTD e tu vuoi usare la PORTB, devi modificare SOLO (e SOLO) il file LCD_44780.h
non copiare nulla delle librerie LCD_44780.c e LCD_44780.h nel tuo main perchè, oltre a non servire a niente, ti causa un tale marasma che non ne esci più
Ultimo punto, forse il più importante e prendilo come un consiglio, quando hai un problema aiutaci dicendo dall'inizio l'hardware che usi (ovvero microcontrollore, quarzo utilizzato, se hai montato tutto su una breadboard o su stampato ecc.). In questo modo ci metti in condizione (parlo almeno per me) di poter replicare il tuo tentativo e di trovare l'inghippo. Per esempio, io ho una scheda con un 2550 montato sopra che mi è servito mesi fa per aiutare un amico del forum replicando il suo esperimento. Nel giro di due giorni abbiamo risolto tutto...
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 5 Mesi fa - 11 Anni 5 Mesi fa #35
da luca2680
Risposta da luca2680 al topic Modifica Libreria di Laurenti per Pic 18F2550
Ti ringrazio....ho messo il 18f2550.h per primo,secondo,ultimo ma niente...i defime nella libreria li ho cambiati come avevo messo in figura...pero ho lasciato di default quelli del warning (LATDbits etc)....
Se metto o no, nel main i define di ogni pin,il main si inca sempre con gli stessi messaggi...
Se metto o no, nel main i define di ogni pin,il main si inca sempre con gli stessi messaggi...
Ultima Modifica 11 Anni 5 Mesi fa da luca2680.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- luca2680
- Elite Member
Riduci
Di più
- Messaggi: 250
- Ringraziamenti ricevuti 0
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.