TRISE bit 4

5 Anni 4 Mesi fa #1 da stainless
TRISE bit 4 è stato creato da stainless

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.

  • stainless
  • Premium Member
  • Premium Member
Di più
5 Anni 4 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic TRISE bit 4
La ragione è legata all'inizializzazione che fai della PORTE.

PORTE non ha tutti i bit e TRISE oltre alla direzione dei bit ha le funzioni speciali.

Nella tua inizializzazione hai scritto TRISE=0xFF; per cui hai impostato indirettamente PSPMODE a 1.

Per questo le cose funzionano solo impostando nuovamente PSPMODE a 0.

La tua inizializzazione dovrebbe essere:

TRISE=0x07;

e puoi togliere

TRISEbits.PSPMODE=0;

Il tutto dovrebbe funzionare.

Saluti,

Mauro
Ringraziano per il messaggio: stainless

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
5 Anni 4 Mesi fa #3 da stainless
Risposta da stainless al topic TRISE bit 4
Ottimo Mauro, avevo la soluzione sotto gli occhi, devo proprio rimettermi a studiare :P

int main void{
while(1){
eat();
drink();
have_fun();
ride();
}
}

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

  • stainless
  • Premium Member
  • Premium Member
Di più
5 Anni 4 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic TRISE bit 4
Sei riuscito a capire che necessitavi TRISEbits.PSPMODE=0; ma purtroppo la zappa sui piedi mettendo PSPMODE a 1 te la eri data da solo.

...alcune volte quando si cerca un errore del codice per troppo tempo, è meglio staccare.
...pensare ad altro e poi riguardare il codice.

In ogni modo per il PIC18F46K22 mi è capitato un bit che doveva avere un valore di reset pari a 0 ma ci ho trovato 1.

Alcune volte il valore di reset non è realmente "hard coded" ma viene impostato dal firmware che viene spesso eseguito dal microcontrollore prima di arrivare al reset vector, per cui ci possono essere di queste apparenti stranezze.

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
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.

Login