Пару недель назад STMicroelectronics выкатили обновление своей программы MicroXplorer, которая позволяла графически настроить инициализацию портов в конкретном STM32 для своих нужд, в том числе и делать ремап портов и визуально видеть что занято\свободно на текущий момент.
Выглядела эта программа следующим образом:
И позволяла на выходе получить *.c, *.h файлы в которых содержались функции по инициализации портов в соотвествии с заданными требованиями с использованием Standard Peripheral Library.
Что же решили изменить на этот раз?
Подобных статей достаточно много на просторах интернета, но хотелось бы написать актуальную вариацию. Лично я долгое время мучался в связке: Ubuntu — основная система, разработка под STM32 в виртуальной машине Windows 7. Но однажды меня это очень утомило и я таки решил потратить несколько дней на поиск решения и вылизывание полноценной среды под Linux Ubuntu. Забегу вперёд и скажу, что идеала я так и не добился, не удалось сделать realtime debug, как в Keil. В остальном всё очень пристойно.
Во второй части публикации о составном устройстве USB я расскажу о том, как работает звуковое устройство USB, которое STM32CubeMX генерирует по умолчанию «из коробки», а также как подготовить проект и настроить параметры звукового устройства перед запуском генерации кода.
В первой части публикации были описаны предпосылки запуска проекта по разработке составного устройства USB и приведены общие сведения о назначении и составе устройства.
В третьей части публикации о составном устройстве USB я расскажу о том, как переделать сгенерированный в STM32CubeMXUSB Audio Speaker, описанный во второй части публикации, в дуплексное звуковое устройство.
Затем мы создадим в STM32CubeMX драйвер виртуального COM-порта.
Зачем мы всё это делаем, подробно описано в первой части публикации.
В заключительной части публикации о составном устройстве USB я расскажу о том, как заставил заработать составное устройство USB, а также поделюсь некоторыми неочевидными нюансами этого процесса.
Работа составных частей устройства была описана во второй и третьей частях публикации.
Ответы на вопрос, зачем это всё было затеяно, даются в начале первой части и в конце четвёртой.
С момента публикации материала о реализации составного устройства USB на STM32 прошло полтора года. Данная статья в двух частях будет своеобразным отчётом о проделанной за это время работе.
Напомню, что описанное в предыдущей публикации решение состоит из двухканального звукового устройства USB и виртуального COM-порта. Разрабатывалось составное устройство USB для применения в составе любительской SDR-радиостанции.
Далее речь пойдёт об аппаратно-программной доработке двухканального звукового устройства USB в полноценную звуковую карту USB.
Во второй части публикации речь пойдёт о реализации линейного входа описанной ранее звуковой карты USB на встроенном в MCUSTM32F411CEU6АЦП.
В статье будут разобраны несколько неочевидных нюансов подобной реализации, а в финале мы сравним характеристики линейного входа на встроенном АЦП с характеристиками линейного входа на кодеке TLV320AIC3104IRHB.