Код: Выделить всё
PrintNumber(uint16_t NeberChar,uint8_t NumberTimers)Функция справляется на ура конечно со своим делом, но
почему то мне кажется что деление в лоб не лучшая идея по скорости выполнения.
Код: Выделить всё
data1=NeberChar%10;
data2=(NeberChar%100)/10;
data3=(NeberChar%1000)/100;
data4=(NeberChar%10000)/1000;
data5=(NeberChar/10000);//Функция вывода динамической индикации.
Код: Выделить всё
void PrintNumber(uint16_t NeberChar,uint8_t NumberTimers)
{
/***Разбитие числа на разряды***/
/*data1->младший,data5->Старший,data6 отдельный разряд*/
data1=NeberChar%10;
data2=(NeberChar%100)/10;
data3=(NeberChar%1000)/100;
data4=(NeberChar%10000)/1000;
data5=(NeberChar/10000);
data6=NumberTimers; //1..4
AnodCount++;
switch (AnodCount)
{
case 1:
ANOD1=0;ANOD2=1;ANOD3=1;ANOD4=1;ANOD5=1;ANOD6=1;
PrintChar(data1);
break;
case 2:
if (((data2+data3+data4+data5)!=0)|| (ModTimer == 0)) //если сумма старших раааазрядов !=0 то выводим разряд иначе гасим.
{
ANOD1=1;ANOD2=0;ANOD3=1;ANOD4=1;ANOD5=1;ANOD6=1;
PrintChar(data2);
} else PrintChar(99); //гасим разряд.
break;
case 3:
if (((data3+data4+data5)!=0)|| (ModTimer == 0)) //если сумма старших раааазрядов !=0 то выводим разряд иначе гасим.
{
ANOD1=1;ANOD2=1;ANOD3=0;ANOD4=1;ANOD5=1;ANOD6=1;
PrintChar(data3);
} else PrintChar(99); //гасим разряд.
break;
case 4:
if ((data4+data5)!=0) //если сумма старших раааазрядов !=0 то выводим разряд иначе гасим.
{
ANOD1=1;ANOD2=1;ANOD3=1;ANOD4=0;ANOD5=1;ANOD6=1;
PrintChar(data4);
} else PrintChar(99); //гасим разряд.
break;
case 5:
if (data5!=0) //если сумма старших раааазрядов !=0 то выводим разряд иначе гасим.
{
ANOD1=1;ANOD2=1;ANOD3=1;ANOD4=1;ANOD5=0;ANOD6=1;
PrintChar(data5);
} else PrintChar(99); //гасим разряд.
break;
case 6:
if (data6!=0) //если сумма раааазряда !=0 то выводим разряд иначе гасим.
{
ANOD1=1;ANOD2=1;ANOD3=1;ANOD4=1;ANOD5=1;ANOD6=0;
PrintChar(data6);
} else PrintChar(99); //гасим разряд.
AnodCount=0;
break;
}
}.................................................................................................................



