Преобразование в ASCII в C

Используя микроконтроллер (PIC18F4580), мне нужно собрать данные и отправить их на SD-карту для последующего анализа. Данные, которые он собирает, будут иметь значения от 0 до 1023 или от 0x0 до 0x3FF.

Мне нужно преобразовать 1023 в строку с базой 10 буквальных значений ASCII (0x31, 0x30, 0x32, 0x33, ...).

Моя проблема в том, что я могу придумать единственный способ разделение цифр на части требует большого деления.

char temp[4];
temp[0] = 1023 % 10;
temp[1] = (1023 % 100) / 10;
temp[2] = (1023 % 1000) / 100;
temp[3] = (1023 % 10000) / 1000;

Используя этот метод, для нахождения значений ASCII десятичного числа из n цифр требуется 2n-1 деления. Есть ли способ, который был бы более быстрым?

Конечная цель этого состоит в том, чтобы получить файл .csv на SD-карте, который можно быстро подключить к любому портативному компьютеру, чтобы увидеть график данных в Excel.

7
задан Clifford 12 September 2010 в 09:43
поделиться