Программирование МК STM32. УРОК 46. I2S. AUDIO. Часть 1
HTML-код
- Опубликовано: 1 июл 2024
- Продолжаем работать с библиотекой HAL.
На данном занятии мы попытаемся начать освоение очень нужной и широко в последнее время используемой шины I2S.
В наш век всё более интенсивного перехода от аналоговой передачи сигнала к цифровой передачи данных того же сигнала цифровое аудио всё более обретает интерес у многих людей.
Мы попробуем в установленную микросхему CS43L22 на плате STM32F4DISCOVERY передать через данную шину цифровое аудио и обработать его в такой вид, который будет понятен многим устройствам - головным телефонам, динамикам, а также линейному входу любого усилителя.
Данная микросхема является Цифро-аналоговым преобразователем звукового сигнала. Цифровой звуковой поток на данную микросхему мы будем подавать из контейнера WAV из файлов, записанных на USB Flash Drive.
В данной первой части занятия мы создадим и настроим проект в Cube MX, создадим каркас приложения, добавим все макросы и глобальные переменные, которые в процессе написания кода нам потребуются.
Также мы начнем писать некоторые функции аудио-библиотеки.
Купить отладочную плату STM32F4-DISCOVERY можно здесь ali.pub/178fif
Дисплей LCD 20x4 можно приобрести тут ali.pub/vk7tl
Навигация по видео:
00:00 Введение
00:30 Кратко ознакомимся с АудиоЦАП-микросхемой, а также с шиной I2S
08:40 Запустим и настроим проект в Cube MX
14:35 Сгенерируем, запустим, настроим проект в Keil, настроим программатор на авторесет
15:00 Добавим файл lcd.c и настроим его на другую шину
18:10 Добавим все дополнительные файлы и добавим макроподстановки и глобальные переменные
24:32 Напишем функцию для обработки ошибок и начнем писать функцию инициализации Аудио ЦАП
29:50 Произведём ещё некоторые настройки кода шины USB
Рекомендуется также перед просмотром данного урока просмотреть данное видео:
УРОК 22. HAL. I2C. I2C to LCD2004 • Программирование МК ST...
УРОК 36. HAL. USB. Host. Mass Storage Class. Часть 1 • Программирование МК ST...
УРОК 36. HAL. USB. Host. Mass Storage Class. Часть 2 • Программирование МК ST...
Текстовая версия данной части урока здесь narodstream.ru/stm-urok-46-i2s...
Группа в контакте club116656325
Группа в Одноклассниках ok.ru/group/52987126153436
Группа в Facebook / 236905359999556
Мой сайт "Программирование МК" narodstream.ru
Форум narodstream.ru/forum/
Вы можете помочь проекту:
ЮMoney
yoomoney.ru/to/41001176473465
Webmoney
Z341906933112
Карта Сбербанка (МИР)
2202201799288929
Можно в USDT
1) Сеть:TRC20
Адрес: TBBPFk5Widf1CYvF7Xk5ssKXeiPJHwtMgS
2) Сеть: BSC BNB Smart Chain (BEP20) (комиссия намного меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17
3) Сеть: Huobi ECO Chain (HECO) (комиссия еще меньше)
Адрес: 0x2e38754DF1e54649Bf0D5CD6fD6D8c96a9f22f17 - Наука
Хороший урок. Спасибо!
И Вам спасибо!
с каждым уроком все больше нужной и полезной информации
Otlichnyi urok!! Sposibki! :)
Я старался) Вам тоже спасибо за оценку!
Я из Чехии, но я был вполне в состоянии понять русский язык. Никто другой не имеет дело не с I2S STM32f407! большое спасибо
И Вам спасибо за оценку!
can you make also tutorial on MEMS microphone located on discovery board?
Вы можете также сделать учебник по MEMS микрофон, расположенный на плате обнаружения?
Schema 5:34 left down. MP45DT02
По цифровым микрофонам урок будет, но несколько позднее.
digital microphone's tutorial will be, but later
Я действительно с нетерпением жду! Я надеюсь, что это будет в ближайшее время. :)
удачи
считает янв
I am really looking forward! I hope it's gonna be soon. :)
good luck
regards Jan
Jan Slavotínek Надо освоить до конца данную тему, тогда уже буду делиться с вами своими знаниями
digital microphone's tutorial will be, but later
hi, do u have the english translation for this video (Audio)?
Привет, у тебя есть английский перевод для этого видео (Audio)?
is it available now?
Подскажите, пожалуйста, возможно ли на стм сделать 8-ми канальный выход адат через оптику?
А что насчет поддержки аудио форматов WAV/PCM с дискретизации 24 bit/192 kHz с носитель SD карта?
Вот интересно, а есть ли возможность читать из GD5F1GQ4 сразу 2 аудио файла и выводить звук по i2s каждый в свой ЦАП?
can you make also tutorial on MEMS microphone located on discovery board?
Спасибо за информацию. Очень доступно объясняете. Маленькая ремарка: I2C и I2S произносятся "ай сквейред си" или "эс" т. к. I2 это II (Inter IC) или "I" в квадрате.
если вместо USB использовать SDIO сильно меняется программа ?
А как можно связаться с вам? Есть передложение про совместньй проект для аудио плеера с вьйсокого разрешения.
Я не занимаюсь коммерческим написанием кода. Если хотите просто помочь проекту, то все платёжные данные есть в описании к видео.
а появился ли уже видеоурок по цифровому микрофону?
Нет ещё, руки пока не дошли. Никак с сетью не разберёмся до конца. Уж очень много там разных протоколов.
Здравствуйте!
Спасибо вам большое за уроки!
Столкнулся тут с одной проблемой, компилятор никак не хочет воспринимать __IO и выводит множество вот таких ошибок:
../Inc/audioplay.h(51): error: #20: identifier "__IO" is undefined
__IO uint8_t select;
../Inc/audioplay.h(51): error: #65: expected a ";"
__IO uint8_t select;
Помогите, пожалуйста!
Здравствуйте! Скорее всего, что-то не подключено. Вместо этого напишите volatile, что одно и то же в принципе.
Огромное спасибо! Помогло, просто молниеносный ответ, даже не ожидал)
Can you add English subtitles? :O really interesting topic but don't understand russian :(
Not understanding anything.... Language problem.... :(
Владимир, подскажите или объясните, сам я никак не могу понять, можно ли сию приблуду что вы тут программируете, подключить по i2s шине к микросхеме saa7708h? Хочу в своей магнитоле выкинуть дисковый привод и вместо него вставить мп3 читалку... И ещё... Как вы научились разбираться во всех этих... делах... Я, например, уже год не могу понять как по айтуси в регистр 0ffd записать данные в эту микру. Посмотрел ваши уроки... Но туман все равно не рассеивается. Это какойто кошмар!
Думаю, что можно, если Вы приблудой называете микросхему Аудио-ЦАП. Только нужна одна малость. Уметь программировать и иметь среду разработки и поддержки, а также программатор к Вашем SAA. Даже не знаю что это такое. Но надеюсь, что это микроконтроллер, который аппаратно поддерживает шину I2S
Как можно с вами связаться и обсудить это дело? _скайп почта... Или проще купить какойнить ятур(эмулятор сд чейнджера за 4к рубля) и не заморачиваться?... Неужели эту ерунду никак не победить...
А со мной Вы не обсудите ничего, так как я Вашу микросхему не знаю. И не даю советов по железу, которое не знаю.
Жаль... Я если честно, не понимаю как можно не знать эту микросхему?.. Для вас даташит на неё глянуть, это будет проще чем лампочку в патрон вкрутить! Ну чтож... Видать не судьба...
Ну если Вам кажется, что это очень просто, то думаю, Вам помощь не нужна.
на 2.03 вы оговорились и назвали шину I2C. зря вообще вспомнили про TWI уж я думаю кто про stm32 ролики смотрит вряд ли будет путать только оговорки возможны. 4.25 разве 8,16.... байтов? вроде бы битов опять оговорка.
Helo narod plzz я следую вашему учебнику, но я получаю эту проблему, помогите мне : ../Drivers/CMSIS/Include/core_cm4.h(129): error: #35: #error directive: "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
Вы, видимо, неправильно собираете и генерируете проект.
Ваш компилятор ругается на плавающую точку. Должна быть последняя версия Cube MX и последняя версия Keil, тогда должно будет собраться.
Это сюда, то сюда, куча копипаст, файлов - в результате не понятно ничего.