Мне нужно разбить число на свои цифры, чтобы отобразить его на ЖК-дисплее. Сейчас я использую следующий метод:
pos = 7;
do
{
LCD_Display(pos, val % 10);
val /= 10;
pos--;
} while (pos >= 0 && val);
Проблема с этим методом заключается в том, что операции деления и по модулю чрезвычайно медленны на микроконтроллере MSP430. Есть ли альтернатива этому методу, что либо не связано с делением, либо уменьшает количество операций?
Примечание. Я не могу использовать какие-либо библиотечные функции, такие как itoa
. Библиотеки большие, а сами функции довольно ресурсоемкие (как с точки зрения количества циклов, так и использования ОЗУ).