Поведение Float, double в Proteus-e + Atmega16

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
wellcom
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Чт фев 24, 2011 13:00:49

Поведение Float, double в Proteus-e + Atmega16

Сообщение wellcom »

Доброго времени суток! В проекте использую тип Float (нужно умножить 32767 * 0,010986328125 (или хотя бы на 0,010986)). Компилятор CVAVR 2.05 + Proteus 7.7 SP2, чип Мега16.

Делаю так:
float data2;
unsigned int data;
.........
data2 = (float) data * 0.010986;
sprintf(flt_buf,"%6.2f",data2);
.........потом вывожу на ЛСД

когда у меня data = 0х7FFF (т.е. 32767) и после умножения почему то выходит число 240 (или 239,99, при использовании меньше знаковых чисел после запятой),а должно быть 360.
В Протеусе, в окошке AVR Variables, переменная data2 имеет адрес, но тип пишет Unspecified, что не дает возможность посмотреть ее состояние после операции умножения. см. Рис.


Пробовал вместо Float ставить Double, компилятор матюкаеться что даный тип поддерживается только в профешнал версии, хотя у меня вроде как крякнутая и пишет что профешнал, см Рис.



Люди добрые, подскажети плиз что делаю не так, и как посмотреть что в переменной data2 :???:
Вложения
CVAVR.png
(4.31 КБ) 580 скачиваний
AVR Variables.png
(17.27 КБ) 318 скачиваний
:solder: 32-х ядерный процессор из П213В
Реклама
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Поведение Float, double в Proteus-e + Atmega16

Сообщение Vov123 »

В настройках компилятора переключи на float sprintf Features.
Реклама
Аватара пользователя
wellcom
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Чт фев 24, 2011 13:00:49

Re: Поведение Float, double в Proteus-e + Atmega16

Сообщение wellcom »

Vov123 писал(а):В настройках компилятора переключи на float sprintf Features.

все переключено...
:solder: 32-х ядерный процессор из П213В
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18649
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Поведение Float, double в Proteus-e + Atmega16

Сообщение ARV »

ну что ж, вам можно только посочувствовать: вы пользуетесь какашкой вместо рабочего инструмента, да еще и украденной... нормальный компилятор WinAVR работает без проблем, как надо:
Изображение
Вложения
Snippy0001.jpg
скриншот из протеуса
(64.42 КБ) 1264 скачивания
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
wellcom
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Чт фев 24, 2011 13:00:49

Re: Поведение Float, double в Proteus-e + Atmega16

Сообщение wellcom »

..возможно вы правы, однако я еще толком не успел научиться на одном компиляторе работать, как уже нужно переходить на другой..... :shock:

что касаеться вычислений, то проблема решена, а что касаеться переменных в протеусе - вопрос наверное тоже решен. Спасибо. :)
:solder: 32-х ядерный процессор из П213В
Реклама
kris95
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Ср янв 07, 2009 19:30:23

Re: Поведение Float, double в Proteus-e + Atmega16

Сообщение kris95 »

Ухты, а научите меня, как в протеусе этот дебагер запустить ?
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18649
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Поведение Float, double в Proteus-e + Atmega16

Сообщение ARV »

kris95 писал(а):Ухты, а научите меня, как в протеусе этот дебагер запустить ?
да проще простого: надо в МК загружать elf-файл с отладочной информацией, остальное протеус делает сам
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
kris95
Держит паяльник хвостом
Сообщения: 920
Зарегистрирован: Ср янв 07, 2009 19:30:23

Re: Поведение Float, double в Proteus-e + Atmega16

Сообщение kris95 »

А как получить такой файл ?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18649
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Поведение Float, double в Proteus-e + Atmega16

Сообщение ARV »

kris95 писал(а):А как получить такой файл ?
спросите у своего компилятора :) winavr создает его по умолчанию
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Закрыто

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