|
Курс по ускорению работы Мозга на 100%
Запись звука на микроконтроллер PIC
| |
| Вт, 13.03.2012, 21:13 | Сообщение # 1
|
[)еНиС
Постов: 3074
Друзья |
ВСе, вырезя я язя из ролика. Теперь есть звук. Весит 34,7КБ. Загружаю в IC-Prog пишет загрузить побайтно? Жму да, появляются одни цифра. Жму нет, совсем другие... Как с этим быть? Снизу прикрепляю язя)
|
|
| Вт, 13.03.2012, 21:20 | Сообщение # 2
|
skateman
Постов: 2201
Друзья |
да че мне твой яз... 1. Тебе надо понотную мелодию, типа как раньше в мобилы программировали, в которых полифонии небыло. 2. Определяешь ноты, лезешь в инет и для каждой ноты определяешь частоту звучания. 3. Берешь МК, запускаешь аппаратный таймер, который генерирует прерывания по совпадению (по достижении какого-то определенного числа - нота). 4. В прерывании надо изменять логическое состояние какого-либо порта. 5. Определяешь для какой ноты какое число нужно подставить таймеру, чтоб контроллер ушел на обработку прерывания. 6. Постепенно подставляешь таймеру числа (ноты) и он изменяя логическое состояние порта будет генерит сигналы разных частот (нот).
Короче упрощенно будет примерно так.
|
|
| Вт, 13.03.2012, 21:32 | Сообщение # 3
|
[)еНиС
Постов: 3074
Друзья |
Короче все вроде ясно, но несовсем понял, много не знакомых и не понятных слов
3. Берешь МК, запускаешь аппаратный таймер, который генерирует прерывания по совпадению (по достижении какого-то определенного числа - нота).
Это как?Добавлено (13.03.2012, 22:32) --------------------------------------------- И вроде это все понял, но не представляю как все это делать 1-2 пункты
|
|
| Вт, 13.03.2012, 21:40 | Сообщение # 4
|
skateman
Постов: 2201
Друзья |
1. В МК есть таймеры, 8-ми битные, т.е. могут считать до 256, затем обнуляются и считают заново. Считают они от тактового генератора контроллера и могут генерировать прерывания. 2. Про прерывания... Сидишь ты на форуме и пишешь очередную головную боль для дяди Сережи и дяди Саши, а тут пришла мама и сказала выкинуть мусор. Ну ты сразу идешь выкидывать (отказать не можешь иначе новый программатор не купит), потом возвращаешься к дописыванию головной боли. Так вот - это примерно и есть прерывание, т.е. при наступлении определенного события контроллер все бросает и идет выполнять то, что нужно и, завершив выполнять задачу в прерывании возвращается к тому месту, с которого ушел. 3. По крайней мере в AVR есть такое прерывание как сброс при совпадении, т.е. ты даешь таймеру такое число, достчитав до которого контроллер уйдет на прерывание.
|
|
| Вт, 13.03.2012, 22:23 | Сообщение # 5
|
skateman
Постов: 2201
Друзья |
видимо ушел на прерывание
|
|
| Ср, 14.03.2012, 08:38 | Сообщение # 6
|
[)еНиС
Постов: 3074
Друзья |
Про прерывание я понял
|
|
| Ср, 14.03.2012, 08:39 | Сообщение # 7
|
skateman
Постов: 2201
Друзья |
[)еНиС, что тебе дальше рассказать?
|
|
| Ср, 14.03.2012, 08:50 | Сообщение # 8
|
[)еНиС
Постов: 3074
Друзья |
Пока ничего, по моему я нашел как звук в двоичный код превратить)
|
|
| Ср, 14.03.2012, 08:51 | Сообщение # 9
|
skateman
Постов: 2201
Друзья |
превратить мало, надо еще это все вывести
|
|
| Ср, 14.03.2012, 08:54 | Сообщение # 10
|
[)еНиС
Постов: 3074
Друзья |
Я нашел, что в 8 битной музыке обновление идет 5 раз в секунду. Если я правильно понял, т.е. я своего язя моку с помощью проги переделать в 8 битный звук, распечатать на бумагу график частоты, разделить каждую секунду звучания на 5 частей, и посчитать нули и еденицы.
Конечно если в 8ми битной музыке обновление не 5 раз в секунду, тогда оболом очередной...
|
|
Внимание! Форум переехал на Tehnodium.ru
|
|