Vai al contenuto
PLC Forum


Simulatore Avr Studio 4


bombernigno

Messaggi consigliati

Ciao a tutti,

ho scritto questo programma in avr studio 4 ma quando sono andato a simularlo non capisco perchè non mi setta il valore di PORTB uguale a quello contenuto nella variabile "conteggio"

avete qualche idea?

#include <stdio.h>

#include <avr/io.h>

#include <avr/interrupt.h>

#include <util/delay.h>

unsigned char prox_fronte;

int conteggio;

unsigned char over;

void main(void)

{

prox_fronte=0;

DDRD=(0x00); // la porta D è impostata come in

PORTD=0x00;

SREG=0b10000000; // abilito gli interrupt

MCUCR=0b00001100; //settaggio interrupt su INT0

GIMSK=0b10000000; // set interrupt sul fronte di salita sul PIND 3

TIMSK=0x02;

sei(); // abilitazione degli interrupt generali

DDRB=0xff;

over=0x00;

while(1)

{

PORTB=conteggio;

_delay_ms(1);

}

}

//*************************************************************************

ISR(INT1_vect)

{

if (prox_fronte==0)

{

TCNT0=0x00; //set del contatore a 0

TCCR0=0x03; // accensione del contatore con prescaler clock/256

GIFR=0x00; // cancellazione dei flag

prox_fronte=1;

}

else

{

conteggio=TCNT0;

prox_fronte=0;

TCCR0=0x00;

}

}

//**************************************************************************

ISR(TIMER0_OVF0_vect)

{

over=over+1;

}

Link al commento
Condividi su altri siti


Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...