interrupt_pic18f4550

4 Anni 1 Mese fa #1 da openSUSE2014
interrupt_pic18f4550 è stato creato da openSUSE2014
bsera a tutti,
sono alle prese con un progetto in cui devo far lampeggiare led2 alla pressione del pulsante, e spegnere il lampeggio alla ripressione del pulsante.
ora, come potrei farlo funzionare?
ho provato con un break, ma nn succede niente....
grazie a tutti per l'aiuto

allego codice sorgente:

#include <stdio.h>
#include <stdlib.h>
#include <xc.h>
#define _PIC18F4550_H_
#include "on-off_Configuration_Bit.h"
#define _XTAL_FREQ 20000000 //Specify the XTAL crystall FREQ
#define puls PORTBbits.RB4 //PORTBbits.RB4
#define led1 LATDbits.LATD0
#define led2 LATBbits.LATB3


int main(void){

// Imposto PORTA tutti ingressi
LATA = 0x00;
TRISA = 0b11111111;
// Imposto PORTB tutti ingressi
LATB = 0b11110111; // imposta livello alto (1), livello basso(0)
TRISB = 0b11110111; // imposta ingresso (1),imposta uscita(0)
// Imposto PORTC tutti ingressi
LATC = 0x00;
TRISC = 0b11111110;
// Imposto PORTD tutte uscite
LATD = 0x00;
TRISD = 0x00;
// Imposto PORTE tutti ingressi
LATE = 0x00;
TRISE = 0xFF;
// Abilita i resistori di pull-up sulla PORTB
INTCON2bits.RBPU = 0x00;

for(;;){ //endless loop

if(puls == 0){ //if push button is pressed
__delay_ms(500);

led2 =1;
__delay_ms(1000);
led2 =0;
__delay_ms(1000);

while(puls == 0){

}
}
}
}

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

  • openSUSE2014
  • Avatar di openSUSE2014
  • Junior Member
  • Junior Member
Di più
4 Anni 1 Mese fa - 4 Anni 1 Mese fa #2 da matrixbit
Risposta da matrixbit al topic interrupt_pic18f4550
usa un timer per il lampeggio in una soubroutine e nel main la lettura del pulsante
Ultima Modifica 4 Anni 1 Mese fa da matrixbit.

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

  • matrixbit
  • New Member
  • New 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