AD9833_Переменные типа float

AVR версия программы

AD9833_Переменные типа float

Сообщение Agababyan Vahagn (Agababyan Vahagn) » 16 апр 2015, 13:25

Здравствуйте. Пишу программу для АД9833 на МК ATMega16. Версия Flowcoda 5.5.2.1. Для того чтобы получить значение регистра чостаты надо задонное значени чостаты умножить на коэффициент который ровно 10.73741824.
FREQ(AD9833 frequency register_float type)= Frequency(10Mhz) * 10,7374182 (coefficient)

Print_string = floatToString$ (FREQ)
Переменная FREQ float type
Симуляция на Flowcode дает правильный результат а о послье компиляции и прошивки LCD печатает 32676. Тоже самое показивает симуляцияа Proteus.
Это максималное значение U16, но в даташите FW написно что переменные float имеют 32 бит диапазон.

Тот же самый резултат получается если в место * использовать функцию
FREQ2 = fmul (Frequency,10.7374182)

Пожалуйста помогите, заранее спасибо.
Ник: Agababyan Vahagn
Имя: Agababyan Vahagn
Новичок
Новичок
Информация о пользователе

Re: AD9833_Переменные типа float

Сообщение Enigm (Enigm) » 16 апр 2015, 15:52

Проектик свой прицепите.
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Супер разработчик
Супер разработчик
Информация о пользователе

Re: AD9833_Переменные типа float

Сообщение Steve Key (Steve Key) » 17 апр 2015, 07:09

FlowCode не «оптимизировал», выкидывая функции работы с «плавающей точкой»? :shock:
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: AD9833_Переменные типа float

Сообщение Agababyan Vahagn (Agababyan Vahagn) » 17 апр 2015, 07:19

Здравствуйте.
Это собственно только часть вычисления значения регистра частоти. Остальная часть получается.
Если посмотрите в Flowcode симуляация дает правилний резултат. А в картинке показно резултат работи реалной схеми на ATMega16.
Для примера частота 1000000.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: Agababyan Vahagn
Имя: Agababyan Vahagn
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: AD9833_Переменные типа float

Сообщение Agababyan Vahagn (Agababyan Vahagn) » 17 апр 2015, 07:25

А что можно сделать в таком случае. А может есть библиатека или еще какой другой вариант для работи с плаваюшей точкой.
Ник: Agababyan Vahagn
Имя: Agababyan Vahagn
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: AD9833_Переменные типа float

Сообщение mim (mim) » 17 апр 2015, 08:56

Agababyan Vahagn писал(а):Если посмотрите в Flowcode
Не нужно смотреть в Flowcode... Там много ошибок, особенно с подобными вычислениями...
Agababyan Vahagn писал(а):А что можно сделать в таком случае.

Что касаемо AD9833 - один из самых распространенных DDS генераторов, интернет забит примерами... Например, здесь, а здесь исходник. Тоже самое... И так далее...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: AD9833_Переменные типа float

Сообщение Agababyan Vahagn (Agababyan Vahagn) » 17 апр 2015, 09:21

Все эти примеры мы уже посмотрели. Просто у нас задача стоит так что все это нужно реализоват с помошю Flowcode.
Ник: Agababyan Vahagn
Имя: Agababyan Vahagn
Новичок
Новичок
Информация о пользователе
Вернуться наверх

Re: AD9833_Переменные типа float

Сообщение mim (mim) » 17 апр 2015, 09:25

Agababyan Vahagn писал(а):Просто у нас задача стоит так что все это нужно реализоват с помошю Flowcode
Тогда желаю успехов...

ЗЫ Можешь написать об этом на официальный сайт...

Кстати... "все просмотрели", тогда меня удивляет то, - что при этом вы ничего не увидели... Для улучшения зрения советую сравнить одно с другим...
У вас нет доступа для просмотра вложений в этом сообщении.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: AD9833_Переменные типа float

Сообщение kindofsky (kindofsky) » 17 апр 2015, 09:41

Agababyan Vahagn писал(а):Все эти примеры мы уже посмотрели. Просто у нас задача стоит так что все это нужно реализоват с помошю Flowcode.

Привет коллеги.
А что, Си вставками именно во Фловкоде нельзя этого сделать? По ссылкам примеры даже разжеваны....
Хотя если задача средствами ИМЕННО Фловкоде, и ТОЛЬКО Фловкоде... - попробуй свой коэффициент умножить до целого числа, сделать вычисления и потом используя примеры со старого форума собрать переменную с точкой.... Во будет калькуляция!!!
Аватар пользователя
Ник: kindofsky
Имя: kindofsky
(Москва)
Супер Гуру
Супер Гуру
Информация о пользователе
Вернуться наверх

Re: AD9833_Переменные типа float

Сообщение Taska (Максим) » 17 апр 2015, 14:07

Мим скинул апноут для того чтобы все посмотрели откуда ТС взял такой хитрый коэффициент.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх


Вернуться в Flowcode AVR

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей