Функциональный генератор на базе STM32F103
Все же энкодер виноват. Разобрал - китайцы забыли поставить контакты. Попробовал впаять от мышки - работает, только крутить нужно долго. Впаял пока со сгоревшего магнитофона без кнопки, кнопку отдельную. Все работает. Форму сигналов пока посмотреть нечем. На пьезо излучателе сигнал меняется. Так, что выложенный выше дамп рабочий.
- Реклама
- Сообщения: 558
- Зарегистрирован: Ср сен 09, 2015 13:09:15
DimKra, перепаял свою BluePill на чип F303CB, желания нет проверить DDS через встроенный DAC?
пока не разобрался как его в ардуино корректно проинициализировать, но оч интересно глянуть на возможности.
скетч v3.4 вроде скомпилился под F303.
пока не разобрался как его в ардуино корректно проинициализировать, но оч интересно глянуть на возможности.
скетч v3.4 вроде скомпилился под F303.
- Сообщения: 63
- Зарегистрирован: Вс мар 24, 2013 17:21:28
kloker, у меня начиная с версии 3.3 поддерживается встроенный DAC в серии F103. А F303 не поддерживает сам аддон, так что на этом мк не заработает.
- Сообщения: 558
- Зарегистрирован: Ср сен 09, 2015 13:09:15
печально, начал кусками переносить под 303, и завалилось. пытался поднять под "STM32GENERIC", <libmaple/dac.h> естественно зовется там по другому, аддон ближе к HAL, maple там боком пошла.
DimKra, а на каком чипе F103 у вас встроеный DAC завелся? на С8\CB его нет.
Добавлено after 8 minutes 40 seconds:
в v3.4 закоментил инклуд
//#include <libmaple/dac.h>
скомпилилось без него под F103c series. а в каком месте кода встроенный DAC используется?
проверить не на чем, дисплея нет.
DimKra, а на каком чипе F103 у вас встроеный DAC завелся? на С8\CB его нет.
Добавлено after 8 minutes 40 seconds:
в v3.4 закоментил инклуд
//#include <libmaple/dac.h>
скомпилилось без него под F103c series. а в каком месте кода встроенный DAC используется?
проверить не на чем, дисплея нет.
- Сообщения: 63
- Зарегистрирован: Вс мар 24, 2013 17:21:28
kloker, встроенный цап проверял на F103RET6, Метод вывода в цап или в GPIO определяется дефайнами в функции dds_set()
- Реклама
- Сообщения: 558
- Зарегистрирован: Ср сен 09, 2015 13:09:15
с F303 засада в Arduino, за 3 дня так и не поборол, пока закину нафиг.
STM32GENERIC сыровата, а от STM32DUINO поддержки F3 нет, и похоже не будет.
STM32GENERIC сыровата, а от STM32DUINO поддержки F3 нет, и похоже не будет.
- Сообщения: 2089
- Зарегистрирован: Вс июн 19, 2016 09:32:03
[uquote="kloker",url="/forum/viewtopic.php?p=3691916#p3691916"]с F303 засада в Arduino, за 3 дня так и не поборол, пока закину нафиг.[/uquote]
Чтоб переделать на F3 нужно понимать что делаешь, там половина периферии другая, а в скетче местами идет обращение к регистрам которых у F3 просто нет.
Чтоб переделать на F3 нужно понимать что делаешь, там половина периферии другая, а в скетче местами идет обращение к регистрам которых у F3 просто нет.
- Сообщения: 558
- Зарегистрирован: Ср сен 09, 2015 13:09:15
[uquote="Reflector",url="/forum/viewtopic.php?p=3691926#p3691926"][uquote="kloker",url="/forum/viewtopic.php?p=3691916#p3691916"]с F303 засада в Arduino, за 3 дня так и не поборол, пока закину нафиг.[/uquote]
Чтоб переделать на F3 нужно понимать что делаешь, там половина периферии другая, а в скетче местами идет обращение к регистрам которых у F3 просто нет.[/uquote]
до регистров я даже не добрался, тут проблема в другом порте F3 под ардуину, в STM32GENERIC, в нем почти все по другому, в древнем mapple от от STM32DUINO поддержки F3 попросту нет
, а mapple уже RIP.
то что линейки F1 и F3 разные и козе понятно. один Cortex M3, второй уже M4, но какой-то тупиковый, вся мощь разрабов ST в F4 ушла
Чтоб переделать на F3 нужно понимать что делаешь, там половина периферии другая, а в скетче местами идет обращение к регистрам которых у F3 просто нет.[/uquote]
до регистров я даже не добрался, тут проблема в другом порте F3 под ардуину, в STM32GENERIC, в нем почти все по другому, в древнем mapple от от STM32DUINO поддержки F3 попросту нет
то что линейки F1 и F3 разные и козе понятно. один Cortex M3, второй уже M4, но какой-то тупиковый, вся мощь разрабов ST в F4 ушла
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
- Сообщения: 558
- Зарегистрирован: Ср сен 09, 2015 13:09:15
[uquote="Мурик",url="/forum/viewtopic.php?p=3692934#p3692934"]Используйте SPL или LL.[/uquote]
вот и пытался на HAL_LL переобуть, STM32GENERIC под него и создан, но терпения не хватило.
на выходе получится совсем другая программа, тогда проще с нуля написать, чем все либы и исходники перепиливать на новый движ.
вот и пытался на HAL_LL переобуть, STM32GENERIC под него и создан, но терпения не хватило.
на выходе получится совсем другая программа, тогда проще с нуля написать, чем все либы и исходники перепиливать на новый движ.
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
Ардуина не единственный способ разработки для STM32.
Берете нормальную IDE и пишите под нужную модель МК.
Берете нормальную IDE и пишите под нужную модель МК.
- Сообщения: 558
- Зарегистрирован: Ср сен 09, 2015 13:09:15
Мурик, так, харе флудить
, я пытался этот проект запустить, а не свой написать, потому и закинул из за тупиковости идеи..
DimKra, я как понял в Версии 3.5. при отключении питания все настройки какие делал сбрасываются, даже при постоянном напряжении на Vbat?
- Сообщения: 63
- Зарегистрирован: Вс мар 24, 2013 17:21:28
Tvics, всё верно, я сохранений переменных в бэкап-регистры не делал.
Жаль маленько напрягает, каждый раз включаешь и начинаешь выставлять. А так скажу отличный генератор. Вопрос по поводу ADG704, у тебя (INPUT freg) измеряет частоту через ADG704? У меня все работает через ADG704, кроме частотомера. ADG704 брал на АЛИ.
DimKra разобрался с ADG704. Ситуация такая при включении генератора сигналы PWM OUT, DDS OUT, CLOCK GEN OUT, проходят через ADG704. При переключении в INPUT freg не производит измерение через ADG704,но если переключиться на Input VoltMeter и вернутся назад в меню INPUT freg,прибор начинает измерять частоты. Теперь бы понять STM32F103C8T6 мозг выносит или это программно?
- Сообщения: 63
- Зарегистрирован: Вс мар 24, 2013 17:21:28
Tvics, да я тоже недавно заметил этот глючок, почему то сразу после перехода в режим частотометра не обновляется экран пока не покрутишь энкодер. В следующий раз исправлю
По поводу сохранения переменных там есть затруднения , переменная частоты -одна всех режимов. Она всё равно сбивается, подгоняясь своими границами под другие режимы. Т.е. что бы всё грамотно сохранить нужно вводить кучу новых переменных, главное -переделывать всю программу
В общем возни много. И бэкап-регистров в 103c8t6 не так много, всего 10 штук 16-битных.
Спасибо DimKra. Самое главное это глюк поправь, а по поводу сохранения ну нет так нет. И так классный генератор. Ты усилитель на генератор не делал?
- Сообщения: 63
- Зарегистрирован: Вс мар 24, 2013 17:21:28
Tvics, ошибку нашел -вход частотометра подключался в режиме вольтметра. В функции void comm() надо в последней строчке поменять режим на 9й
else if (mode==9) ...
В следующей версии радикально переделаю частотометр, точность измерения вырастет на порядок, -наконец разобрался как сделать режим "обратного счёта".
Усилитель не делал, в очень отдалённых планах сделать на ОУ простенький усилитель для регулировки выходного уровня. Но в текущем корпусе у меня нет места.
else if (mode==9) ...
В следующей версии радикально переделаю частотометр, точность измерения вырастет на порядок, -наконец разобрался как сделать режим "обратного счёта".
Усилитель не делал, в очень отдалённых планах сделать на ОУ простенький усилитель для регулировки выходного уровня. Но в текущем корпусе у меня нет места.
DimKra спасибо, поменяю. Будем ждать обновления. Если надо сброшу схему, какую я делал, может что и подскажешь.


