Уже задолбался искать подобное прошу помощи.
- Вложения
-
- timer.zip
- (38.33 КБ) 212 скачиваний
Код: Выделить всё
if(TMR1IE&&TMR1IF)
{
// uses 1 variable; unsigned long bres
// gets here every TMR1 16bit int (every 65536 ticks)
TMR1IF = 0;
Bres += 65536; // add 65536 ticks to bresenham total
if(Bres >= 2000000) // if reached 1 second!
{
Bres -= 2000000; // subtract 1 second, retain error
if(Sec_i)
{
Sec_i--;
}
else
{
Здесь поищите.sanya123 писал(а):...дискретность 0,1с и максимальное время 99с...Уже задолбался искать подобное прошу помощи.
Этот кусок кода, есть ничто иное как создание секундных интервалов по алгоритму Брезенхема. К индикации никакого отношения не имеет.sanya123 писал(а):Будем пробовать чето длелать, но завтра,утро вечета мудреней. Я так понял нужно править здесь но никак не пойму зависимость этих циклов которые 65536 от частоты кварца в схеме который 8 МГцКод: Выделить всё
if(TMR1IE&&TMR1IF) { // uses 1 variable; unsigned long bres // gets here every TMR1 16bit int (every 65536 ticks) TMR1IF = 0; Bres += 65536; // add 65536 ticks to bresenham total if(Bres >= 2000000) // if reached 1 second! { Bres -= 2000000; // subtract 1 second, retain error if(Sec_i) { Sec_i--; } else {