Понятно, в строку преобразуете. 32 байта строка, наверно, здесь не нужна. Вы собираетесь выводить строку из 9 символов, значит достаточно строки в 10 байт.
Попробуйте для начала убрать деление на 1000 , сделайте вывод на LCD в герцах (временно). Вам потребуется строка длиной 9 байт и вместо функции ftoa использовать ltoa (если я правильно помню). Это даст возможность локализовать проблему (если конечно проблема в этой части)
Добрый день! Действительно вся проблемма с функцией ftoa,с ltoa всё работает! Терь возник вопрос, как отделить сотые через точку и вывести на LCD,например: 28850.060 ?
Пробовал перевести в unsigned long, снова ничего! Прикрепляю файлик, подскажите что не так! Забавно, в Протеусе не работает, залил в контроллер, работает через раз! Ничего не понимаю, глюки)!
Спасибо, нарыл проблему! В компиляторе не правильно было выставлено int,width! Вот архивчик с проектом на данный момент! Рабочий проект sinAD2.Не доглядел, открыл в evaluationвот в нём работает, но есть ограничение по софту! В версии 2.03.09 не работает!
Всем привет. Вопрос по AD9850, проблема в том что синтезатор выдает немного не то что рассчитано по формулам. Пример. Имеем собранную схему. Кварцевый генератор на 125 МГц. Как получить 1 Гц на выходе устройства? Для начала нам необходимо вычислить коэффициент деления K: K = Fген / 2^32 = 125 000 000 / 4 294 967 296 = 0.02910… Находим код, который необходимо отослать в DDS: Код = Fвых / K = 1 (Гц) / 0.02910 = 34,3642…. = 34
Управляющее слово состоит из пяти байт, если я ничего не путаю, пятый байт нам не нужен, это управления фазой. Выводим 34 в двоичной форме 00000000 00000000 00000000 00000000 00100010 Но на выходе я получаю не 1Гц а 255Гц, подозрительно чтото 255 Гц, такое впечатления что проблема в коэффициенте деления, может кто то сталкивался или просто знает в чем проблема, подскажите. В данный момент, если прикинуть, 225/34=6,6. Тоесть минимальная частота гдето 7Гц, чтото не то
Всем спасибо за ответы, нашел причину , на бумажке то я пишу что в управляющем слове 5 байт а програмно забыл за 5 байт и командное слово получилось 4 байта. Вот этот здвиг на один байт и получился
Здравствуйте, тоже заинтересовался схемой с генератором AD9850, но по форуму так и не понял, доделал генератор кто до конца? Если можно поделитесь пожалуйста схемой подключения и рабочим проектом.
Я свою пока не доделал, отложил из за отсутствия времени. Готовых проектов в сети много, со схемами и прошивками, под разные цели. Или возьмите мой проект (выкладывал выше) и доделайте под свои цели, там осталось только дисплей с кнопками или валкодером прикрутить, управление ДДС полностью работает.
Если нужен именно готовый проект, могу прислать в личку несколько ссылок, или гугол поможет.
bobr25 смотрел ваш архив, я так понял что там пока заготовки. Интересует именно начальный проект с управлением AD9850, и принципиальная схема что куда подключено. А ссылки готовых проектов спасибо не надо. Эта тема та что мне нужно, у меня такая платка есть . Тока в программировании я слабак, успехи небольшие есть в CodeVisionAVR , но так только "вершки"... вот и спросил, может поделитесь , если есть успехи, а если у меня получится что , так я тоже в долгу не останусь.
Посмотрите мои сообщения от Пн июн 03, 2013 21:58:33 там код по управлению AD9850 с комментариями, от Чт июн 13, 2013 16:03:25 там подключение меги к DDS модулю и полностью проект для CodeVisionAVR (AD9850_test.rar) Проверен на таком же точно модуле. В этом проекте частота задается однократно и настраивает DDSку на нее. Чтобы менять частоту на ходу последовательность такая: 1. задали частоту в переменной freq. 2. готовим управляющее слово
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения