4 Anni 5 Mesi fa #6
da Lello Guidi
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Risposta da Lello Guidi al topic __delay_ms(1000) sembra non funzionare
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Lello Guidi
- Autore della discussione
- Platinum Member
Riduci
Di più
4 Anni 5 Mesi fa #7
da Mauro Laurenti
Risposta da Mauro Laurenti al topic __delay_ms(1000) sembra non funzionare
Salve Lello,
le variabili
signed int luce = 512;
signed int lettura = 0;
le puoi dichiarare unsigned.
unsigned int luce = 512;
unsigned int lettura = 0;
ma questo non è il problema.
Il pin usato per l'ADC lo devi impostare come ingresso e non come uscita.
La conversione:
lettura = ADRESL+(ADRESH<<;
ha un problema di overflow. Lo shift lo devi fare dopo aver convertito il valore del registro a 16 bit e non subito.
ADRESH<<8 ti da altrimenti sempre 0 visto che è un registro a 8 bit.
lettura = ADRESL+(ADRESH<<;
lo devi cambiare in:
lettura = ADRESL + ((unsigned int) ADRESH ) <<8;
o ancor meglio fai il casting esplicito di entrambi
lettura = (unsigned int) ADRESL + ((unsigned int) ADRESH ) <<8;
Per le altre configurazioni, per sapere se sono corrette dovresti "postare" lo schema elettrico,
Saluti,
Mauro
le variabili
signed int luce = 512;
signed int lettura = 0;
le puoi dichiarare unsigned.
unsigned int luce = 512;
unsigned int lettura = 0;
ma questo non è il problema.
Il pin usato per l'ADC lo devi impostare come ingresso e non come uscita.
La conversione:
lettura = ADRESL+(ADRESH<<;
ha un problema di overflow. Lo shift lo devi fare dopo aver convertito il valore del registro a 16 bit e non subito.
ADRESH<<8 ti da altrimenti sempre 0 visto che è un registro a 8 bit.
lettura = ADRESL+(ADRESH<<;
lo devi cambiare in:
lettura = ADRESL + ((unsigned int) ADRESH ) <<8;
o ancor meglio fai il casting esplicito di entrambi
lettura = (unsigned int) ADRESL + ((unsigned int) ADRESH ) <<8;
Per le altre configurazioni, per sapere se sono corrette dovresti "postare" lo schema elettrico,
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
4 Anni 5 Mesi fa #8
da Lello Guidi
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Risposta da Lello Guidi al topic __delay_ms(1000) sembra non funzionare
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
4 Anni 5 Mesi fa #9
da Lello Guidi
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Risposta da Lello Guidi al topic __delay_ms(1000) sembra non funzionare
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
4 Anni 5 Mesi fa #10
da Mauro Laurenti
Risposta da Mauro Laurenti al topic __delay_ms(1000) sembra non funzionare
Salve Lello,
sul programma dove hai messo la foto:
TRISIO = 0b00001000; // GP4/AN3 IN, gli altri OUT
non è corretto. GP4 è il quinto bit visto che hai anche GP0.
Quindi devi scrivere come sotto o non leggi l'ADC
TRISIO = 0b00010000; // GP4/AN3 IN, gli altri OUT
Ricontrolla gli altri registri.
Hanno problemi simili.
Gli esempi finali fai uso di GP0 direttamente e non GPIObits.GP0
Non ho controllato gli header file ma non sono certo se GP0 sia definito come GPIObits.GP0.
Saluti,
Mauro
sul programma dove hai messo la foto:
TRISIO = 0b00001000; // GP4/AN3 IN, gli altri OUT
non è corretto. GP4 è il quinto bit visto che hai anche GP0.
Quindi devi scrivere come sotto o non leggi l'ADC
TRISIO = 0b00010000; // GP4/AN3 IN, gli altri OUT
Ricontrolla gli altri registri.
Hanno problemi simili.
Gli esempi finali fai uso di GP0 direttamente e non GPIObits.GP0
Non ho controllato gli header file ma non sono certo se GP0 sia definito come GPIObits.GP0.
Saluti,
Mauro
Ringraziano per il messaggio: Lello Guidi
Si prega Accedi o Crea un account a partecipare alla conversazione.
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.
Login
© LaurTec 2006 - 2024