таьмер не работает как надо помогите
- Войдите на сайт для отправки комментариев
Пнд, 09/12/2013 - 00:08
#define stop_timer1 TCCR1B=0 #define start_timer1 TCCR1B = (0<<CS12)|(1<<CS11)|(1<<CS10) //частота/64 4mkc volatile unsigned int periodspeed ; // период volatile boolean we_stend = true ; //стоим volatile boolean period_speed = false ; // период загружен ?????? ISR(TIMER1_OVF_vect) //прерывание по таймеру1 { stop_timer1; //остановка таймера we_stend = true ; //импульсов небыло больше 1 сек установлен флаг стоим } void setup() { //TIM_Init();//инициализация таймера pinMode(11,OUTPUT); pinMode(2, INPUT); //Вход датчика скорости Serial.begin(9600); attachInterrupt(0, speedd, RISING); } void loop() { digitalWrite(11,LOW); delay(200); digitalWrite(11,HIGH); Serial.println(periodspeed); } void speedd() //прерывание по датчику скорости { stop_timer1; if(we_stend == false) periodspeed=TCNT1 , period_speed = true; //если не стоим сохраняется период TCNT1=0; //сброс счетчика таймера1 start_timer1; //запуск нового цикла we_stend = false; //едем } void TIM_Init(void) { stop_timer1; TCCR1A=0 ; TCNT1 = 0; TIMSK1 = (1<<TOIE1); //разрешить прерывание по переполнению таймер1 }
мне нада сколка милисеконд от 0 то 1
я решил проблему так что думаьте
Поток сознания ).
сам спрашиваю сам отвечаю. сам над своими шутками смеюсь))