Попал в руки цветной дисплей

Обсуждаем цифровые устройства...
Ответить
Держит паяльник хвостом
Аватара пользователя
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Сообщение SubDia »

Jack_A писал(а):Сумляваюсь. Сам дел с этим конкретно дисп. не имел, но чисто по логике: пиксель - штука дискретная, и откуда там взяться float' у - ума не приложу.
Если что, то я говорю об аргументе функции заливки экрана. Даже не об аргументе, а о счетчике пикселей. Делаем ведь как - устанавливаем нулевой адрес (x=0;y=0) и начинаем слать код цвета с инкрементом адреса. Соответственно, гоним от 0 до 320x240. А тут, камрад, простая арихметика: 320x240=76800. В integer маленько, да все равно не вписываемся..
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Реклама
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

В integer маленько, да все равно не вписываемся..
Кроме int существует много других целочисленных типов. Например, int32_t (long) и uint32_t (unsigned long) из stdint.h, так что float тут совсем не нужен.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Сообщение SubDia »

YS писал(а): Кроме int существует много других целочисленных типов. Например, int32_t (long) и uint32_t (unsigned long) из stdint.h, так что float тут совсем не нужен.
Не могу не согласиться. Целесообразнее всего использовать uint32_t. Однако нагрузку на память МК оба типа будут оказывать одинаковую.. ошибаюсь?
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Друг Кота
Аватара пользователя
Сообщения: 6339
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Думаю, да. Даже при одинаковой разрядности, операции над float сложнее, учитывая структуру float: нормализованная мантисса, порядок, знак порядка, знак числа. У кого есть ( у меня нет за ненадобностью :) ) компилятор Си, легко может убедиться в различном объеме кода даже для элементарного i++ .
Реклама
Эиком - электронные компоненты и радиодетали
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Однако нагрузку на память МК оба типа будут оказывать одинаковую.. ошибаюсь?
На память (оперативную) - да, размер один. :))) На АЛУ - нет. На флеш - нет.

Операции с целыми числами поддерживаются аппаратно, а с вещественными - эмулируются с применением команд для целочисленных операций, т.к. в AVR нет FPU. Потому любая операция с float будет производится в разы медленнее, чем с целым типом, пускай даже и повышенной разрядности, и сама программа будет занимать гораздо больше места в FLASH-памяти.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Реклама
Держит паяльник хвостом
Аватара пользователя
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Сообщение SubDia »

Вот мы и имеем еще один аргумент против применения данного дисплея в озвученном проекте :)))
Ладно, чего греха таить, float - не самый удачный пример в нашем случае.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Реклама
Держит паяльник хвостом
Сообщения: 963
Зарегистрирован: Чт апр 03, 2014 23:16:55
Откуда: Россия

Сообщение Rtmip »

Понятно :)
Ответить

Вернуться в «Цифровая техника»