Вывод времени

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Встал на лапы
Аватара пользователя
Сообщения: 123
Зарегистрирован: Сб ноя 18, 2006 17:14:15

Сообщение boobonick »

__Alexander писал(а):
ARV писал(а):почему не сделать так:
И получить вместо 500 байт кода - 2500 :))

Я бы сделал в обратную сторону, выводи все, но если первым символом является ноль, то выводи пробел.

x = (hour % 100) / 10;
if (x == 0) putlcd(0x20);



---------
Спасибо, бум разбираться!
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев

Сообщение BCluster »

Если надо быстро и без проблем - используйте sprintf и не мучайтесь. Для любителей "оптимального кода" есть более изощренные методы (:
Контактная информация:
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

BCluster писал(а):Если надо быстро и без проблем - используйте sprintf и не мучайтесь. Для любителей "оптимального кода" есть более изощренные методы (:
Вот и я говорю, используйте core2duo на 2000 ГГц (бысто и без проблем) и не мучайтесь, а для любителей АВРок и ПИКов есть, как вы говорите... методы.

Думать головой наверное надо хоть немного.... как Вы думаете? А если у чувака в меге8 осталось 500 байт для кода? Ваш sprintf туда не вместится...

А так повторюсь, ну напиши мне под тини13 твой sprintf.
А покупать камень на два бакса дороже ради этой функции... мазохисты. Бабла че, немеряно? Если да, тогда вопрос отпадает.


------------------
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

это из цикла "а поговорить ?"

Цитата
//---------------------------------------------------------------------
А так повторюсь, ну напиши мне под тини13 твой sprintf.
//--------------------------------------------------------------------
куда и что , сколько разрядов ?

Для 2 разрядов, как пример -

Код: Выделить всё

char str[2];
void sprintf(unsigned char tmp)
{
flash  unsigned char step[2]={10,1};
unsigned char i;
val=tmp;
unsigned char val,temp,atemp;
 for (i=0; i<2>= temp)
      {
        atemp++;
        val-=temp;
      }
    str[i]=atemp;
  }
}

конечно, сайт изуродовал код...
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Urry, для двух разрядов - слишком умно. :))) Проще поделить на 10 с остатком - тут уже были похожие предложения. :)
__Alexander писал(а):А покупать камень на два бакса дороже ради этой функции... Бабла че, немеряно?
Mega8 стоит 56р, Mega16 - 90р, Mega32 - 118р... где тут бабло? Изображение
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18786
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

прежде чем считать бабло, лучше прикинуть, как из тини13 выводить результат sprintf-a :))) если ее ног не хватает даже для подключения по "4-проводному" интерфейсу ЖКИ, а без него ценность вывода в текстовом формате сильно преувеличена :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев

Сообщение BCluster »

Вот если бы осталось 500 байт, тогда имело бы смысл об этом говорить )
Тини13 сколько стоит? мега8 стоит 2 доллара. Вообще целесообразность использования тинек для меня уже пару лет является тайной )
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»