Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
- Реклама
Привет всем.
Где я могу купить процессоры PT2322 и PT2323 ?.
Спасибо.

Где я могу купить процессоры PT2322 и PT2323 ?.
Спасибо.
- Сообщения: 17
- Зарегистрирован: Пн апр 11, 2016 22:51:35
Извините за вопрос, но без подключения аудиопроцессора что то должно отображаться на дисплее или его подключение обязательно?
Всё работает и без подключения аудиопроцессора или тюнера.
- Реклама
- Сообщения: 29
- Зарегистрирован: Вс май 22, 2016 21:19:03
Здравствуйте WiseLord!
Мне очень понравилась ваша схема темброблока и особенно понравился спектроанализатор.
Пожалуйста помогите с реализацией программы спектроанализатора без всего остального.
Нужен только спектроанализатор.
Мне очень понравилась ваша схема темброблока и особенно понравился спектроанализатор.
Пожалуйста помогите с реализацией программы спектроанализатора без всего остального.
Нужен только спектроанализатор.
Необходимый код целиком и полностью сосредоточен в файлах fft.c/fft.h, adc.c/adc.h плюс прерывание таймера, например, из ks0108.c, по которому дёргается АЦП. Результат забирается функцией getSpData(скорость опадания столбиков) в виде массива из 64 байтов. Первая половина массива относится к левому каналу, вторая - к правому.
Тут была озвучена просьба в основном варианте (там где поддерживаются кнопки на входах шины данных дисплея) те выводы, что сейчас используются для кнопок, использовать для включения/отключения питания устройств, подключенных к соответствующим входам.
Поскольку это ломает совместимость с изначальным проектом, такая правка в основной вариант не попадёт. Но - кому надо, прикладываю патч, который позволяет понять, что надо менять в исходниках, чтобы получить такое поведение.
Поскольку это ломает совместимость с изначальным проектом, такая правка в основной вариант не попадёт. Но - кому надо, прикладываю патч, который позволяет понять, что надо менять в исходниках, чтобы получить такое поведение.
- Вложения
-
- nobuttons.patch.7z
- (1.16 КБ) 185 скачиваний
- Сообщения: 125
- Зарегистрирован: Ср янв 20, 2016 15:29:12
Если я правильно понял то эти изменения касаются tda7439 а для рт2323\рт2322 надо тоже писать так или это действие будет выполняться для всех процессоров?WiseLord писал(а):Тут была озвучена просьба в основном варианте (там где поддерживаются кнопки на входах шины данных дисплея) те выводы, что сейчас используются для кнопок, использовать для включения/отключения питания устройств, подключенных к соответствующим входам.
Поскольку это ломает совместимость с изначальным проектом, такая правка в основной вариант не попадёт. Но - кому надо, прикладываю патч, который позволяет понять, что надо менять в исходниках, чтобы получить такое поведение.
WiseLord, здравствуйте.
Спасибо за Ваш бесценный труд ...
Вот появился вопросик.
Приобрел у китайцев платку с PCF8574T, адреса меняются с 020 по 027, у Вас 040 ...
Где нужно поправить исходники, чтобы скомпилировать нужную прошивку.
Спасибо за Ваш бесценный труд ...
Вот появился вопросик.
Приобрел у китайцев платку с PCF8574T, адреса меняются с 020 по 027, у Вас 040 ...
Где нужно поправить исходники, чтобы скомпилировать нужную прошивку.
Что именно в патче заставило Вас так подумать?misir писал(а):Если я правильно понял то эти изменения касаются tda7439
Вообще-то здесь, но сомневаюсь, что надо что-то менять. Потому как адреса 0x20..0x27 - это то же самое, что 0x40..0x4E. Просто в первом случае адрес считается без учёта R/W бита (так принято в arduino), а во второй - с его учётом (в других случаях)mr.red писал(а):Где нужно поправить исходники, чтобы скомпилировать нужную прошивку.
- Сообщения: 125
- Зарегистрирован: Ср янв 20, 2016 15:29:12
Что именно в патче заставило Вас так подумать?WiseLord писал(а):misir писал(а):Если я правильно понял то эти изменения касаются tda7439
Просто увидел только tda7439 и подумал что только для нее изменения. Я в программировании не силен.
Т.е мне достаточно запаять перемычки? ...WiseLord писал(а):Вообще-то здесь, но сомневаюсь, что надо что-то менять. Потому как адреса 0x20..0x27 - это то же самое, что 0x40..0x4E. Просто в первом случае адрес считается без учёта R/W бита (так принято в arduino), а во второй - с его учётом (в других случаях)mr.red писал(а):Где нужно поправить исходники, чтобы скомпилировать нужную прошивку.
- Сообщения: 29
- Зарегистрирован: Вс май 22, 2016 21:19:03
Спасибо большое!WiseLord писал(а):Необходимый код целиком и полностью сосредоточен в файлах fft.c/fft.h, adc.c/adc.h плюс прерывание таймера, например, из ks0108.c, по которому дёргается АЦП. Результат забирается функцией getSpData(скорость опадания столбиков) в виде массива из 64 байтов. Первая половина массива относится к левому каналу, вторая - к правому.
Разобрался, все заработало.
Да.mr.red писал(а):Т.е мне достаточно запаять перемычки?
Рад был помочь.SerF писал(а):Разобрался, все заработало.
- Сообщения: 125
- Зарегистрирован: Ср янв 20, 2016 15:29:12
[quote="WiseLord"]Тут была озвучена просьба в основном варианте (там где поддерживаются кнопки на входах шины данных дисплея) те выводы, что сейчас используются для кнопок, использовать для включения/отключения питания устройств, подключенных к соответствующим входам.
Спасибо Вам огромное!! Собрал в железе все работает. 1 появляется с переключением входов , как и хотелось.
Спасибо Вам огромное!! Собрал в железе все работает. 1 появляется с переключением входов , как и хотелось.
Ураааа! Заработало!
WiseLord, спасибо за подсказку.
WiseLord, спасибо за подсказку.
- Сообщения: 29
- Зарегистрирован: Вс май 22, 2016 21:19:03
Здравствуйте.SerF писал(а):Спасибо большое!WiseLord писал(а):Необходимый код целиком и полностью сосредоточен в файлах fft.c/fft.h, adc.c/adc.h плюс прерывание таймера, например, из ks0108.c, по которому дёргается АЦП. Результат забирается функцией getSpData(скорость опадания столбиков) в виде массива из 64 байтов. Первая половина массива относится к левому каналу, вторая - к правому.
Разобрался, все заработало.
Делаю спектроанализатор на контроллере, работающего на частоте 8МГц (нет кварца на 16МГц).
Правильно я настроил таймер???
TIMSK |= (1<<TOIE0); /* Enable Timer0 overflow interrupt */
TCCR0 |= (0<<CS02) | (1<<CS01) | (0<<CS00); /* Set timer prescaller to 8 (1MHz) */
/* 1MHz / (256 - 206) = 20000Hz => 20000Hz / 8 / 2 / 66 = 18.9 FPS */
TCNT0 = 206;
Вроде бы правильно.
С другой стороны, можно оставить код как есть, но не использовать манипуляцию с run (запуск АЦП каждое второе прерывание таймера), а просто запускать АЦП каждое прерывание, не удваивая при этом частоту таймера. Будет дисплей чуть медленнее обновляться, но вряд ли это будет заметно. А свободного процессорного времени останется больше, что полезно для 8МГц.
С другой стороны, можно оставить код как есть, но не использовать манипуляцию с run (запуск АЦП каждое второе прерывание таймера), а просто запускать АЦП каждое прерывание, не удваивая при этом частоту таймера. Будет дисплей чуть медленнее обновляться, но вряд ли это будет заметно. А свободного процессорного времени останется больше, что полезно для 8МГц.
- Сообщения: 29
- Зарегистрирован: Вс май 22, 2016 21:19:03
Спасибо.WiseLord писал(а):Вроде бы правильно.
С другой стороны, можно оставить код как есть, но не использовать манипуляцию с run (запуск АЦП каждое второе прерывание таймера), а просто запускать АЦП каждое прерывание, не удваивая при этом частоту таймера. Будет дисплей чуть медленнее обновляться, но вряд ли это будет заметно. А свободного процессорного времени останется больше, что полезно для 8МГц.
Попробую.


