настройка первого таймера работает
а настройка второго таймера нет
кто может подсказать почему?
Код:
#include <avr/io.h>
#include <avr/interrupt.h>
#define STEP 2
#define DIR 3
#define ENA 4
void setup() {
pinMode(STEP,OUTPUT);
pinMode(DIR,OUTPUT);
pinMode(ENA,OUTPUT);
digitalWrite(ENA,LOW);
digitalWrite(DIR,LOW);
cli();
TCCR1A=(0<<COM1A1) | (0<<COM1A0) |(0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<WGM13) | (1<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10);
OCR1A=20000;//задает скорость,чем меньше значение ,тем меньше скорость(6000max)
TIMSK1=0b00000010;
sei();
}
void loop() {
}
ISR(TIMER1_COMPA_vect){
if(PIND&(1<<2)){PORTD &=~ (1<<2);}//step high на 2-м пине
else {PORTD |= (1<<2);}
}
Код:
#include <avr/io.h>
#include <avr/interrupt.h>
#define STEP 2
#define DIR 3
#define ENA 4
void setup() {
pinMode(STEP,OUTPUT);
pinMode(DIR,OUTPUT);
pinMode(ENA,OUTPUT);
digitalWrite(ENA,LOW);
digitalWrite(DIR,LOW);
cli();
TCCR2A=(0<<COM2A1) | (0<<COM2A0) |(0<<COM2B1) | (0<<COM2B0) | (1<<WGM21) | (0<<WGM20);
TCCR1B=(0<<WGM22) | (0<<CS22) | (0<<CS21) | (1<<CS20);
OCR2A=2000;//задает скорость,чем меньше значение ,тем меньше скорость(6000max)
TIMSK2=0b00000010;
sei();
}
void loop() {
}
ISR(TIMER2_COMPA_vect){
if(PIND&(1<<2)){PORTD &=~ (1<<2);}//step high на 2-м пине
else {PORTD |= (1<<2);}
}