PIC18 stati logici

11 Anni 3 giorni fa #1 da alberto
PIC18 stati logici è stato creato da alberto
Buonasera ragazzi, ho bisogno di voi, sto facendo pratica con gli interruttori e led vi spiego quello che voglio fare:

praticamente voglio che quando verifico (PORTBbits.RB4 == 0) considerando che ho abilitato i pullup della portb il led associato rimanga acceso (inizialmente è spento), quando ri - premo il pulsante deve spegnere il led, su settore zero ho trovato:

if (!BTN2) // se pulsante 2 premuto
{
DelayMs(100); // antirimbalzo
if (!BTN2)
{
LED2=LED2^1; // inverto lo stato del led
}
}


io non riesco ad avere questo risultato, come mai ? E' per il pull up ?

#include <xc.h>

#include "PIC18F4550_config.h"

#include "delay.h"
#include "delay.c"
#include "portb.h"


int main(void) {

LATA = 0x00;
TRISA = 0xFF;

LATB = 0x00;
TRISB = 0xFF;

LATC = 0x00;
TRISC = 0xFF;

LATD = 0x01;
TRISD = 0x00;

LATE = 0x00;
TRISE = 0xFF;

EnablePullups();

for(;;){

// PORTB di default vale 1 per via del pullup

if (PORTBbits.RB4 == 0) {
LATDbits.LATD0 = LATDbits.LATD0^1;
}

if (PORTBbits.RB5 == 0) {
LATDbits.LATD1 = 0x01;
LATDbits.LATD5 = 0x01;}

else {
LATDbits.LATD1 = 0x00;
LATDbits.LATD5 = 0x00;
}

if (PORTBbits.RB6 == 0) {
LATDbits.LATD2 = 0x01;
LATDbits.LATD6 = 0x01;}
else {
LATDbits.LATD2 = 0x00;
LATDbits.LATD6 = 0x00;
}

if (PORTBbits.RB7 == 0) {
LATDbits.LATD3 = 0x01;
LATDbits.LATD7 = 0x01; }
else {
LATDbits.LATD3 = 0x00;
LATDbits.LATD7 = 0x00;
}


} // end for

} // end main


aiutatemi.

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

  • alberto
  • Junior Member
  • Junior Member
Di più
11 Anni 3 giorni fa #2 da shinshi
Risposta da shinshi 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.

  • shinshi
  • Avatar di shinshi
  • Elite Member
  • Elite Member
Di più
11 Anni 3 giorni fa - 11 Anni 3 giorni fa #3 da bassfender
Risposta da bassfender al topic PIC18 stati logici
Potrebbe essere, prova come ti ha detto Shinshi.
Ultima Modifica 11 Anni 3 giorni fa da bassfender.

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

  • bassfender
  • Senior Member
  • Senior Member
Di più
11 Anni 3 giorni fa #4 da shinshi
Risposta da shinshi al topic PIC18 stati logici
Prova a mettere un ritardo dopo la rilevazione della pressione del tasto per filtrare i rimbalzi.
Saluti
Luca

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

  • shinshi
  • Avatar di shinshi
  • Elite Member
  • Elite Member
Di più
11 Anni 3 giorni fa #5 da alberto
Risposta da alberto al topic PIC18 stati logici
Ciao Shinshi, ho provato anche con il ritardo ma non va.. :( ..

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