|
// Преобразование беззнакового целого в массив (6 разрядов)...
void MySprintf(unsigned char str[], unsigned long variable, unsigned char clearing)
{
signed char gPs;
unsigned long tUl0, tUl1;
for (gPs = 0; gPs < 6; gPs++) str[gPs] = 0;
tUl0 = variable;
gPs = 5;
while(tUl0 > 0 && gPs >= -1)
{
tUl1 = tUl0 / 10;
str[gPs--] = tUl0 - tUl1 * 10;
tUl0 = tUl1;
}
// Очистка незначащих нулей
if(clearing == 0xff)
{
if(variable < 100000) str[0] = 10;
if(variable < 10000) str[1] = 10;
if(variable < 1000) str[2] = 10;
if(variable < 100) str[3] = 10;
if(variable < 10) str[4] = 10;
}
}
В str попадает интекс, который указывает на элемент массива, в котором код символа...
В соем случае код семисегментного генератора...
10 - это пробел
0 - это код нуля
9 - это клд девятки...
E-mail: info@telesys.ru