Делал подобное на STM. Четыре DDS синус на четырех выходах сравнения одного таймера суммировались на резисторах. Достаточно точно ноты и аккорды воспроизводит. Чуть не дописал парсер MIDI.
А сожет такое быть что в сонтанах например или еше в каких устрйствах мультиплексированием сигнал делали? Какое то время милисекунды там не знаю одна частота потом вторая потом опять первая. Мозг изза инерционности сам уже сливал в одну частоту ноту
Проще воспроизводить отсчеты сигнала как есть. Тем более, что если требуется синтезировать пианино, то там нет синуса в чистом виде. Там есть экспоненциальная огибающая. То есть пишем во флеш сигналы клавиш, в программе их суммируем и выводим в ШИМ.
я не изучал режим СТС, когда "потолок" задается в регистре ICR1, поэтому не могу дать точный ответ на твой вопрос. скорее всего, этот режим нужен для того, когда нужно регистры OCR1А и OCR1В использовать для других целей.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
я не изучал режим СТС, когда "потолок" задается в регистре ICR1, поэтому не могу дать точный ответ на твой вопрос. скорее всего, этот режим нужен для того, когда нужно регистры OCR1А и OCR1В использовать для других целей.
Именно так! ICR задает частоту, а OCRA/B - заполнение. При OCR=> ICR на выходе 100% заполнение.
_________________ Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Именно так! ICR задает частоту, а OCRA/B - заполнение. При OCR=> ICR на выходе 100% заполнение.
Это в режиме СТС такое возможно? Я всегда считал, что в СТС только квадратный меандр возможен в СТС с 50%-процентным заполнением. Поправьте, если неправ.
Режим CTC всего лишь задает период, при котором происходит сброс таймера (и прерывание OVF), далее все зависит от настроек выхода (биты COMxA/B), если ставить "01", то выход будет просто переключаться, т.е. и будет меандр с заполнением 50%, но их можно выставить как в режиме ШИМ - "10" или "11" - о они будут вести себя в соответствии со значениями регистров OCRA/B. Именно поэтому в контроллерах, где регистр ICR может использоваться для задания периода CTC, регистрами OCR можно задавать еще и заполнение, только надо учитывать, что максимальное значение OCR будет уже не 0xFF или 0xFFFF, как при обычном ШИМ (8 или 16 бит), а будет ограничено значением ICR.
_________________ Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения