svd71
@svd71

Как в Arduino управлять таймером?

Имеется Arduino UNO c atmega328p на борту. Пытаюсь выставить таймер на 250микросекунд.
Использую следующий код:
void setup() 
{ 
  DDRC = 0xFF;
  DDRB = 0xFF;

TCNT1 = 0;
	TCCR1B = /*_BV(CS11)|*/_BV(CS10);
TCNT1 = 0;
	//TIMSK1 = _BV(TOIE1);

TIMSK1 |= (1<<TOIE1);

        //-TIMER1_OVF_vect
   
    sei();
  
}//setup()
 
void loop() 
{ 
}
  
volatile uint8_t pp = 0;

ISR(TIMER1_OVF_vect)
{
    pp = ~pp;
    PORTC = pp;
    PORTB = pp;
}


Все замечательно, таймер запустился. Но только изменения прескалера ни к чему не ведут - частота всегда 2 милисекунды. Что там с таймером не так?

UDP: Изменения смотрю осцилографом, а не чем то еще.
  • Вопрос задан
  • 606 просмотров
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Среда ардуино использует таймеры для своих задач - первый таймер millis, второй pwm.
Вам нужно сначала закоментировать их в коде ардуино а потом использовать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы