منظور از تعریف این نوع متغییر چیست
http://s6.picofile.com/file/8248944300/5.jpg
http://s6.picofile.com/file/8248944300/5.jpg
#include
#include
#include
#include
#include
#define SEQ_INIT 0xFF
#define Seq_Lecture_Forward 0xFE
#define SEQ_WAIT 0xFD
#define SEQ_SEND_MIDI_0 0xFC
volatile uint8_t Machine = SEQ_INIT
void init_timer1(void)
{
TCCR1A = 0x00;
TCCR1B = 0x0A;
TCCR1C = 0x00;
OCR1AH = 0x00;
OCR1AL = 0x10;
TIMSK1 = 0x02;
TCNT1 = 0x00;
}
void calcul_tempo(uint16_t VALEUR_BPM)
{
uint16_t BPM_CALCUL;
BPM_CALCUL = (468750/(VALEUR_BPM));
OCR1A = BPM_CALCUL;
}
ISR(TIMER1_COMPA_vect)
{
Machine = Seq_Lecture_Forward;
PORTC = Machine;
}
void main()
{
uint16_t Valeur_BPM;
DDRC = 0xFF;
Machine = SEQ_INIT;
PORTC = Machine;
for(;;)
{
_delay_us(1);
switch (Machine)
{
case SEQ_INIT :
{
cli();
Machine = Seq_Lecture_Forward;
PORTC = Machine;
Valeur_BPM = 60;
init_timer1();
break;
};
case Seq_Lecture_Forward :
{
// calcul_tempo(Valeur_BPM);
Machine = SEQ_SEND_MIDI_0;
PORTC = Machine;
break;
};
case SEQ_SEND_MIDI_0:
{
Machine = SEQ_WAIT;;
PORTC = Machine;
break;
}
case SEQ_WAIT :
{
PORTC = Machine;
sei();
break;
};
default :
{
Machine = SEQ_INIT;
PORTC = Machine;
break;
}; // Fin du default
}; // Fin du switch
}; // Fin du while()
}
دیدگاه