pic non mi vede pulsante

12 Anni 2 Mesi fa - 12 Anni 2 Mesi fa #6 da Pinna
Risposta da Pinna al topic Re: pic non mi vede pulsante
Ciao Guido, se può esserti di aiuto ti ho allegato il main che ho usato per il mio primissimo esperimento con la freedom....
main.c


main.c

Chi vola vale, chi vale vola, chi non vola è un vile
Ultima Modifica 12 Anni 2 Mesi fa da Pinna.

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

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
12 Anni 2 Mesi fa #7 da Pinna
Risposta da Pinna al topic Re: pic non mi vede pulsante
non so perchè ma non riesco ad allegarti il file (l'ho sempre fatto!!!). Comunque te lo scrivo qui:


// Programma di esempio che accende e spegne in sequenza i led montati sulla scheda Freedom II
// I valori sono assegnati ad ogni singolo pin della PORTD
// Tratto da un lavoro di Mauro Laurenti - 03 ottobre 2011

#include <p18f4550.h>

#pragma config FOSC = HS
#pragma config WDT = OFF
#pragma config LVP = OFF
#pragma config PBADEN = OFF

//OSC = HS Impostato per lavorare ad alta frequenza
//WDT = OFF Disabilito il watchdog timer
//LVP = OFF Disabilito programmazione LVP
//PBADEN = OFF Disabilito gli ingressi analogici

void main (void){

// Variabile per conteggio Pausa
unsigned int i;

// Imposto PORTA tutti ingressi
LATA = 0x00;
TRISA = 0xFF;

// Imposto PORTB tutti ingressi
LATB = 0x00;
TRISB = 0xFF;

// Imposto PORTC tutti ingressi
LATC = 0x00;
TRISC = 0xFF;

// Imposto PORTD tutti uscite
LATD = 0x00;
TRISD = 0x00;

// Imposto PORTE tutti ingressi
LATE = 0x00;
TRISE = 0xFF;


for (i=0;i<64000; i++)
// Ciclo infinito
while (1) {


// Accendo LED 1
LATDbits.LATD0 = 1;

// Pausa
for (i=0;i<64000; i++) {
}

// Spengo LED 1
LATDbits.LATD0 = 0;

// Pausa
for (i=0;i<64000; i++) {
}

// Da qui in poi si accendono e si spengono in sequenza i led restanti
LATDbits.LATD1 = 1;
for (i=0;i<64000; i++) {
}
LATDbits.LATD1 = 0;
for (i=0;i<64000; i++) {
}
LATDbits.LATD2 = 1;
for (i=0;i<64000; i++) {
}
LATDbits.LATD2 = 0;
for (i=0;i<64000; i++) {
}
LATDbits.LATD3 = 1;
for (i=0;i<64000; i++) {
}
LATDbits.LATD3 = 0;
for (i=0;i<64000; i++) {
}
LATDbits.LATD4 = 1;
for (i=0;i<64000; i++) {
}
LATDbits.LATD4 = 0;
for (i=0;i<64000; i++) {
}
LATDbits.LATD5 = 1;
for (i=0;i<64000; i++) {
}
LATDbits.LATD5 = 0;
for (i=0;i<64000; i++) {
}
LATDbits.LATD6 = 1;
for (i=0;i<64000; i++) {
}
LATDbits.LATD6 = 0;
for (i=0;i<64000; i++) {
}
LATDbits.LATD7 = 1;
for (i=0;i<64000; i++) {
}
LATDbits.LATD7 = 0;
for (i=0;i<64000; i++) {
}
// Il ciclo rinizia da capo e si ripete all'infinito

}


}

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ù
12 Anni 2 Mesi fa #8 da Guido
Risposta da Guido al topic Re: pic non mi vede pulsante
Grazie a tutti per la collaborazione, questa sera provo il codice di pinna.
Per gcupini hai ragione ho pasticciato sulle porte ma ti scrivo che le ho settate entrambe, funzionano, penso che i cicli di delay lascino il led troppo in attesa (spento).

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

  • Guido
  • Platinum Member
  • Platinum 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