Зачем все эти 10000? Это продуцирует дико неоптимальный код
Одной десятки хватит за глаза. /10 и %10 - больше не нужно. Если циклов не понимаете, можно и без них:
Код: Выделить всё
void Scr(int16_t temp)
{
Screen[5] = temp % 10;
temp /= 10;
Screen[4] = temp % 10;
temp /= 10;
Screen[3] = temp % 10;
temp /= 10;
Screen[2] = temp % 10;
temp /= 10;
Screen[1] = temp;
}
Сравните размер прошивки со своим вариантом и сами увидите.
А если то же самое ещё и в цикл завернуть:
Код: Выделить всё
void Scr(int16_t temp)
{
int8_t i;
for (i = 5; i >= 0; i--) {
Screen[i] = temp % 10;
temp /= 10;
}
}
, то разница будет ещё больше