Modérateur: Modérateur
#include <avr/io.h>
#include <avr/interrupt.h>
#define F_CPU 8000000UL // Fréquence du quartz
#include <util/delay.h>
#define DDR_LED DDRB
#define PORT_LED PORTB
#define PIN_LED PINB0 // Port sur lequel se trouve la LED
// Pause de cnt millisecondes
void delay_ms(long cnt) {
while (cnt-->0) {
_delay_ms(1);
}
}
SIGNAL(SIG_OUTPUT_COMPARE1A)
{
PORT_LED |= _BV(PIN_LED);
delay_ms(500);
PORT_LED &=~_BV(PIN_LED);
delay_ms(500);
}
void main(void)
{
DDR_LED = 0xFF; // Port en sortie
// Timer qui lance les interruptions
TCCR1B = _BV(CS10 ) | _BV(CS11 ) | _BV(WGM12);
OCR1A = (F_CPU/1024);
TIMSK = _BV(OCIE1A) ;
sei();
while(1) {};
}
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités