PIC18 stati logici

11 Anni 3 giorni fa #6 da Pinna
Risposta da Pinna al topic PIC18 stati logici
Ciao Alberto, oltre ai suggerimenti già dati dagli altri amici del forum, perchè non inserisci un ritardi tra l'accensione e lo spegnimento deli led? non credo che il tuo occhio (come il mio e quello dell'intero genere umano) sia capace di vedere se si accende un led o meno in una frazione di tempo infinitesimale... è come pretendere di vedere la successione del multiplexing nei display sette segmenti...

Marcello

Chi vola vale, chi vale vola, chi non vola è un vile

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

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
11 Anni 3 giorni fa #7 da alberto
Risposta da alberto al topic PIC18 stati logici
Ciao Pinna, inizialmente il led è spento come deve essere, successivamente quando premo il pulsante il led si accende e rimane acceso. Quando ripremo il pulsante non me lo spegne .. questo è il problema. Mi postate qualche possibile soluzione di codice così lo provo ?

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

  • alberto
  • Junior Member
  • Junior Member
Di più
11 Anni 3 giorni fa #8 da Pinna
Risposta da Pinna al topic PIC18 stati logici
potresti cambiare

LATD = 0x01;
TRISD = 0x00;

in

LATD = 0x00;
TRISD = 0x00; ?

fai prima questa prova....

Chi vola vale, chi vale vola, chi non vola è un vile

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

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
11 Anni 3 giorni fa - 11 Anni 3 giorni fa #9 da StefA
Risposta da StefA al topic PIC18 stati logici

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.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
11 Anni 2 giorni fa #10 da alberto
Risposta da alberto al topic PIC18 stati logici
Ciao ragazzi sto mettendo in pratica i vostri suggerimenti, allora con il seguente codice:

while(1){

// PORTB di default vale 1 per via del pullup

if (!PORTBbits.RB4) {
delay_ms(150);
if(!PORTBbits.RB4){
LATDbits.LATD0 = ~LATDbits.LATD0;
}
}
}


riesco diciamo a fare quello che voglio solo che noto:

1) se lo tengo premuto il led lampeggia ovviamente perchè passa dallo stato 0 allo stato 1, come posso risolvere questo ?

2) la risposta non è sempre immediata, a volte riesco ad tenere stabile il segnale altre volte no. Il while migliora un pò le cose anche se la notazione usata con il for l'avevo presa dal libro di mauro se non ricordo male.

Come posso risolvere i problemi presentati ?

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

  • alberto
  • Junior Member
  • Junior Member
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