omercury, Рад снова Вас слышать.
Спасибо за помощь.
Вчера экспериментировал в отладчике Studio 4, хотелось бы улучшить и довести до ума данную программу .
мы имеем скорость вращения
counter_rpm=(TCNT1L|((int)TCNT1H‹‹8 )); //читаем скорость вращения
макс значение будет составлять FFFF=65535.
В каких единицах будет измерятся counter_rpm скорость вращения и в каких пределах будет изменятся ?
i=60000/counter_rpm; //вычисляем ячейку таблицы i›=1 and i‹=104 но из данной формулы i может быть и больше чем 104
как бы сделать что бы * i * возвращало значения таблицы tablica[104]={....} от 1 до 104 т.е при скажем малых оборотах равных 500, i = 5 при 6000 i= 60 и при 10000 i= 100
а в самой таблице вводить значения угла смещения(задержка)
как рассчитать сколько миллисекунд нужно для смещения на 1 градус или 10-ть градусов ? и вот эти миллисекунды забить в таблицу обороты - градус
в результате
bufer= tablica[i] ; tablica[i] будет возвращать значение угол-обороты.
как рассчитать значение переменной bufer что бы оно соответствовало реальной задержке в таймере т.е 1 к 1
OCR1BH=(char)(bufer››8 ); //заносим задержку
OCR1BL=(char)bufer; //в счётчик
Я наверняка написал много непонятного, не судите плиз строго, логику МК мне трудно понять