Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Своими руками

Своими руками Завершенные и текущие проекты, хард & софт

Ответ
 
Опции темы Опции просмотра
Старый 06.05.2016, 09:56   #26
al.kl
Senior Member
 
Регистрация: 11.10.2011
Возраст: 22
Сообщений: 233
Вес репутации: 750/31
al.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to beholdal.kl is a splendid one to behold
Отправить сообщение для al.kl с помощью ICQ
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Zloj_ya, вот вам ваш floor :
Код:
#define floor(val)  (double)(int)val
Если в виде функции, то :
Код:
double floor(double val) {
return (double)(int)val;
}
пользуйтесь на здоровье

Последний раз редактировалось al.kl; 06.05.2016 в 10:03.
al.kl вне форума   Ответить с цитированием
Старый 06.05.2016, 10:00   #27
Zloj_ya
Senior Member
 
Регистрация: 29.03.2007
Сообщений: 146
Вес репутации: 100/41
Zloj_ya will become famous soon enoughZloj_ya will become famous soon enough
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от al.kl Посмотреть сообщение
Zloj_ya, вот вам ваш floor :
Код:
#define floor(val)  (double)(int)val
пользуйтесь на здоровье
Спасибо !
Zloj_ya вне форума   Ответить с цитированием
Старый 06.05.2016, 10:08   #28
HHIMERA
Banned
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,716
Вес репутации: 3742/0
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Pridnya Посмотреть сообщение
Переписать стандартные библиотеки для Cortex.
Эта патамушта мозгов у тебя... меньше чем знаний... Ты тут ещё будешь глаголить... как, кому и что писать... Завейся!!!
Пару лет назад... у Кокоса была беда со стандартными... Как сейчас... не знаю... даром не надо... Насколько помню... у МСС18 тоже бедулька была...
Из свежих - СТМ8... Нет дабле... нет инт64... глючный POW()...
И что прикажешь делать??? Слушать твой поносопоток??? Нафик!!! Лей в свои уши...
Цитата:
Еще можно позвонить производителя и попросить ядро переделать под свой суперговнокод.
Ещё можно купить на базаре петуха... и имплантировать тебе его мозг... чтобы веселее было...
Цитата:
А если честно, то лучше землю покопать, чтобы мозги отдохнули.
И что мешает??? Бери лопату и копай... до самой Невады... в обход ядра Земли...
HHIMERA вне форума   Ответить с цитированием
Старый 06.05.2016, 10:11   #29
Zloj_ya
Senior Member
 
Регистрация: 29.03.2007
Сообщений: 146
Вес репутации: 100/41
Zloj_ya will become famous soon enoughZloj_ya will become famous soon enough
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
Эта патамушта мозгов у тебя... меньше чем знаний... Ты тут ещё будешь глаголить... как, кому и что писать... Завейся!!!
Пару лет назад... у Кокоса была беда со стандартными... Как сейчас... не знаю... даром не надо... Насколько помню... у МСС18 тоже бедулька была...
Из свежих - СТМ8... Нет дабле... нет инт64... глючный POW()...
И что прикажешь делать??? Слушать твой поносопоток??? Нафик!!! Лей в свои уши...

Ещё можно купить на базаре петуха... и имплантировать тебе его мозг... чтобы веселее было...

И что мешает??? Бери лопату и копай... до самой Невады... в обход ядра Земли...

Мужики! Да не ругайтесь Вы! Ведь я задавал вопросы не для того, чтобы здесь вызвать склоку.
Zloj_ya вне форума   Ответить с цитированием
Старый 06.05.2016, 11:21   #30
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Возраст: 38
Сообщений: 4,422
Вес репутации: 4370/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
Эта патамушта мозгов у тебя... меньше чем знаний... Ты тут ещё будешь глаголить... как, кому и что писать... Завейся!!!
Пару лет назад... у Кокоса была беда со стандартными... Как сейчас... не знаю... даром не надо... Насколько помню... у МСС18 тоже бедулька была...
Из свежих - СТМ8... Нет дабле... нет инт64... глючный POW()...
И что прикажешь делать???
Я сначала пользуюсь стандартными функциями, а уж потом, если чего-то нет, дописываю. Не начинаю с переписывания. Т.е. предполагается, что стандарт писали грамотные люди и проверяли их тоже грамотные.
Вы б еще написали как обстояли дела в начале 90-х годов. И вообще не пойму, к чему вы про проблемы с STM8 пишете...да и хрен с ним, что там нет дабле...нет инт64...(я добавлю: нет инт128...сала нет...) про STM8 не спрашивал никто. У вас про что не спроси, вы про CTM8...и переписывать нужно. Заработать что ли на переписывании хотите? Можно начать с переписывания компилятора или вообще Windows.
__________________
Прогресс неизбежен.

Последний раз редактировалось Pridnya; 06.05.2016 в 11:33.
Pridnya вне форума   Ответить с цитированием
Старый 06.05.2016, 11:53   #31
HHIMERA
Banned
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,716
Вес репутации: 3742/0
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Pridnya Посмотреть сообщение
У вас про что не спроси, вы про CTM8...и переписывать нужно. Заработать что ли на переписывании хотите?
Ну... это у вас там... с гектара картохи накопал... и побежал покупать один СТМ32Ф407... А даже на 030-х с ихними 16К... стандартные могут и не влезть... при случае... Важны варианты решения задачи, Карл!!! Всегда!!! А если думать лень... если тяга к халяве... то только копать... в четыре лопаты... одновременно...
HHIMERA вне форума   Ответить с цитированием
Старый 06.05.2016, 12:20   #32
Pridnya
Senior Member
 
Регистрация: 21.01.2009
Возраст: 38
Сообщений: 4,422
Вес репутации: 4370/119
Pridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond reputePridnya has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
А даже на 030-х с ихними 16К... стандартные могут и не влезть... при случае... Важны варианты решения задачи, Карл!!! Всегда!!!
Для STM32F100С4 и кейл первый вызов sprintf() добавляет около 4 килобайт кода, следующие вызовы незначительно добавляют код.
__________________
Прогресс неизбежен.
Pridnya вне форума   Ответить с цитированием
Старый 07.05.2016, 00:54   #33
Vlad&mir
Senior Member
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 1,720
Вес репутации: 4345/92
Vlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Меня удивило, что этот "примитив"
Код:
void itoa3(unsigned long binval)
{
  unsigned long step[]= {100000,10000,1000,100,10,1};

  unsigned long temp;
  unsigned char i, atemp;

    for (i = 0; i < 6; i++)
     {
        temp  = step[i];
        atemp = '0';

        while(binval >= temp)
         {
            atemp++;

            binval -= temp;
         }

        buff[i] = atemp;
     }
}
работает почти в три раза быстрее чем ltoa!
Vlad&mir вне форума   Ответить с цитированием
Старый 07.05.2016, 08:39   #34
Zloj_ya
Senior Member
 
Регистрация: 29.03.2007
Сообщений: 146
Вес репутации: 100/41
Zloj_ya will become famous soon enoughZloj_ya will become famous soon enough
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Vlad&mir Посмотреть сообщение
Меня удивило, что этот "примитив"
Код:
void itoa3(unsigned long binval)
{
  unsigned long step[]= {100000,10000,1000,100,10,1};

  unsigned long temp;
  unsigned char i, atemp;

    for (i = 0; i < 6; i++)
     {
        temp  = step[i];
        atemp = '0';

        while(binval >= temp)
         {
            atemp++;

            binval -= temp;
         }

        buff[i] = atemp;
     }
}
работает почти в три раза быстрее чем ltoa!
Я в самом начале темы писал, что эту подпрограмму я срисовал на каком-то из форумов. Т.е. - это не мое авторство!
Я только чуток переделал под свою прогу.
На чужое я не претендую.
Zloj_ya вне форума   Ответить с цитированием
Старый 07.05.2016, 08:56   #35
HHIMERA
Banned
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,716
Вес репутации: 3742/0
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Vlad&mir Посмотреть сообщение
Меня удивило, что этот "примитив"
работает почти в три раза быстрее чем ltoa!
Сейчас "удивило" мало кого интересует... Некоторым вообще проще... картоху в цветочных горшках... на яблоне выращивать... да ещё и редуктор к яблоне прикрутить... чтобы потои купить Ф7хх... и ни в чём себе не отказывать... чем написать ручками несколько строчек...
HHIMERA вне форума   Ответить с цитированием
Старый 07.05.2016, 08:57   #36
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,614
Вес репутации: 5056/155
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Vlad&mir Посмотреть сообщение
Меня удивило, что этот "примитив"работает
почти в три раза быстрее чем ltoa!
но этот примитив не есть ltoa, он же только до миллиона считает, минус внутри не обрабатывается. когда появится универсальность - то на то и выйдет...
Greg вне форума   Ответить с цитированием
Старый 07.05.2016, 08:58   #37
HHIMERA
Banned
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,716
Вес репутации: 3742/0
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Zloj_ya Посмотреть сообщение
Я в самом начале темы писал, что эту подпрограмму я срисовал на каком-то из форумов. Т.е. - это не мое авторство!
Я только чуток переделал под свою прогу.
На чужое я не претендую.
Тема по этой шняге проплывала на ИзыйдиЭлектроникс...
А ваще... "Всё уже написано до нас!"(С)...
Вот навскидку... похожее...
http://kazus.ru/forums/showthread.php?p=883460
Тоже ковыряли чужое...
HHIMERA вне форума   Ответить с цитированием
Старый 07.05.2016, 09:19   #38
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,614
Вес репутации: 5056/155
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
Тоже ковыряли чужое...
ага, то же самое - "два костыля", "отрицательное не выводил", "около нуля врал". и в самой программе плавающее деление.

но тут вообще в консерватории что-то не так
Цитата:
Сообщение от Zloj_ya Посмотреть сообщение
Часто возникает необходимость преобразовать float число в строку для вывода на LCD и т.п..
да не должно возникать такой необходимости. ни часто, ни вообще.
там разница же в коде просто на порядки.
Greg вне форума   Ответить с цитированием
Старый 07.05.2016, 09:33   #39
HHIMERA
Banned
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,716
Вес репутации: 3742/0
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Greg Посмотреть сообщение
ага, то же самое - "два костыля", "отрицательное не выводил", "около нуля врал". и в самой программе плавающее деление.
Да вроде там... всё пофиксили...
Может где-то и не очень оптимально... но такой задачи сильно и не стояло... ИМХО...
-----------
Не нашёл там плавающего деления... ???

Последний раз редактировалось HHIMERA; 07.05.2016 в 09:46.
HHIMERA вне форума   Ответить с цитированием
Старый 07.05.2016, 10:51   #40
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,614
Вес репутации: 5056/155
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
Не нашёл там плавающего деления... ???
виноват, не туда посмотрел, деления в явном виде нет (умножение есть).
но все эти "походя" преобразования (float)inttt и (int)fff тоже нагонят страху.

тут одно время тоже поветрие было - всё оптимизировали itoa для пиков. даже стал пихать в армы, потом с удивлением обнаружил ну полное отсутствие выигрыша по сравнению с (иаровским) printf.

я все к тому, что не надо доводить до простой плавучки. нет таких задач.
если уж дошло, то обычно и даблы на пределе.
Greg вне форума   Ответить с цитированием
Старый 07.05.2016, 11:54   #41
Vlad&mir
Senior Member
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 1,720
Вес репутации: 4345/92
Vlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Greg Посмотреть сообщение
но этот примитив не есть ltoa, он же только до миллиона считает, минус внутри не обрабатывается. когда появится универсальность - то на то и выйдет...
Я слегка "причесал" этот "примитив". Довёл его до signed long, погасил ведущие нули, добавил терминальный ноль и т.п.
Код:
unsigned char itoa4(signed long binval, char * buff)
{
  unsigned long step[]= {1000000000, 100000000, 10000000, 100000, 10000, 1000, 100, 10, 1};

  unsigned long temp;
  unsigned char i, j, flag, atemp;

    flag = 0;

    if(binval < 0)
     {
          binval = -binval;
        * buff++ = '-';
          j      =  1;
     }
     else  j =  0;

    for (i = 0; i < 9; i++)
     {
        temp  = step[i];

        atemp = '0';

        while(binval >= temp)
         {
            atemp++;

            binval -= temp;
         }

        if(flag || (atemp > '0') || (i == 8))
         {
            * buff++ = atemp;
              flag   = 1;
              j++;
         }
     }

    * buff = 0; 

    return j;
}
Функция возвращает количество символов в выходной строке без завершающего нуля.

Работает, конечно немного медленнее, но всё равно, блин, быстрее чем ltoa!
Vlad&mir вне форума   Ответить с цитированием
Старый 07.05.2016, 12:51   #42
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,614
Вес репутации: 5056/155
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Vlad&mir Посмотреть сообщение
Я слегка "причесал" этот "примитив". Довёл его до signed long, погасил ведущие нули, добавил терминальный ноль и т.п.Функция возвращает количество символов в выходной строке без завершающего нуля.
Работает, конечно немного медленнее, но всё равно, блин, быстрее чем ltoa!
честно, никогда ltoa не пользовался. считаю оптимальной вот такую шнягу http://www.microchip.su/showthread.p...=msp#post34825 (это кстати из какого-то микрочиповского аппнота).

а можете цифры привести - быстрее, короче и т.д.?

всех короче, конечно, вычитание. но если уже доходит до оптимизации, то хочется быстрее.
Greg вне форума   Ответить с цитированием
Старый 07.05.2016, 13:05   #43
Vlad&mir
Senior Member
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 1,720
Вес репутации: 4345/92
Vlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Greg Посмотреть сообщение
...а можете цифры привести - быстрее, короче и т.д.
mcc18

itoa4(-123456, & buff[0]); // 1294 cycles, Program memory 1644

ltoa(-123456, & buff[0]); // 2764 cycles, Program memory 1377
Vlad&mir вне форума   Ответить с цитированием
Старый 07.05.2016, 19:20   #44
Vlad&mir
Senior Member
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 1,720
Вес репутации: 4345/92
Vlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Vlad&mir Посмотреть сообщение
mcc18

itoa4(-123456, & buff[0]); // 1294 cycles, Program memory 1644

ltoa(-123456, & buff[0]); // 2764 cycles, Program memory 1377
Виноват, один модуль удалить забыл!

itoa4(-123456, & buff[0]); // 1294 cycles, Program memory 428

ltoa(-123456, & buff[0]); // 2764 cycles, Program memory 374
.
Vlad&mir вне форума   Ответить с цитированием
Старый 07.05.2016, 19:46   #45
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,614
Вес репутации: 5056/155
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Vlad&mir Посмотреть сообщение
Виноват, один модуль удалить забыл!

itoa4(-123456, & buff[0]); // 1294 cycles, Program memory 428

ltoa(-123456, & buff[0]); // 2764 cycles, Program memory 374
.
ну да, что-то многовато было для интов
Greg вне форума   Ответить с цитированием
Старый 09.05.2016, 11:53   #46
HHIMERA
Banned
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,716
Вес репутации: 3742/0
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Vlad&mir Посмотреть сообщение
mcc18

itoa4(-123456, & buff[0]); // 1294 cycles, Program memory 1644
Keil 4 STM32F050

itoa4(-123456, & buff[0]); // 470 cycles, Program memory 172
HHIMERA вне форума   Ответить с цитированием
Старый 09.05.2016, 14:09   #47
Vlad&mir
Senior Member
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 1,720
Вес репутации: 4345/92
Vlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond reputeVlad&mir has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
Keil 4 STM32F050

itoa4(-123456, & buff[0]); // 470 cycles, Program memory 172
PIC24, C30

itoa4(-123456, & buff[0]); // 811 cycles, Program memory 124

ltoa(& buff[0], -123456, 10); // 8320 cycles, Program memory 81
Vlad&mir вне форума   Ответить с цитированием
Старый 09.05.2016, 21:48   #48
HHIMERA
Banned
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,716
Вес репутации: 3742/0
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Vlad&mir Посмотреть сообщение
PIC24, C30

itoa4(-123456, & buff[0]); // 811 cycles, Program memory 124
IAR 2.20 STM8

itoa4(-123456, & buff[0]); // 1720 cycles, Program memory 269

Мда... что-то ИАР тупит с СТМ8... непадецки... "Не получается каменный цветок"(С)... Разучились работать... что ли???
HHIMERA вне форума   Ответить с цитированием
Старый 09.05.2016, 22:18   #49
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 6,614
Вес репутации: 5056/155
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
IAR 2.20 STM8

itoa4(-123456, & buff[0]); // 1720 cycles, Program memory 269

Мда... что-то ИАР тупит с СТМ8... непадецки... "Не получается каменный цветок"(С)... Разучились работать... что ли???
у 8 есть аппаратное деление, попробуй код на делении, а ещё лучше родной sprintf.
Greg вне форума   Ответить с цитированием
Старый 09.05.2016, 23:08   #50
HHIMERA
Banned
 
Регистрация: 10.06.2008
Возраст: 55
Сообщений: 2,716
Вес репутации: 3742/0
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: Делюсь программой преобразования float в массив для вывода, например, на LCD

Цитата:
Сообщение от Greg Посмотреть сообщение
у 8 есть аппаратное деление, попробуй код на делении, а ещё лучше родной sprintf.
Та не... Там изначально с СТМ8 всё было так плохо... что ахтунгом отдавало... Потом ИАР чутка раздуплился... и код стал похожим хоть на что-то... но не до конца... То ли ИАР окончательно нюх потерял... то ли аккумуляторная архитектура ему не по зубам... Может когда и допилят... но всё это как-то напрягает...
HHIMERA вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присоветуйте тип и способ управления MOSFETом "верхнего" плеча dr_Sash Источники питания и силовая электроника 37 08.09.2012 18:50
подключение магнитолы Sergey1 Общетехнические вопросы 10 27.12.2007 22:39
Помогите, пожалуйста, найти ошибку в коде Катя Микроконтроллеры других производителей 26 08.12.2007 14:58
проблемка с PIC16F628A bereg_ok Продукция MICROCHIP 72 07.09.2007 11:00
LCD BC2004C посоветуйте что нибудь для начала на ассемблере Leonid_O Общетехнические вопросы 3 29.05.2007 10:15


Часовой пояс GMT +3, время: 00:56.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot