Вот мой код...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено zlogic 23 августа 2003 г. 13:49
В ответ на: Поделитесь плиз хорошим алгоритмом или кусочком кода функции типа IntToStr для C51 - на асм или Си отправлено Кулинар 23 августа 2003 г. 13:32

// Преобразование беззнакового целого в массив (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