Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Техническое задание.

Переработка оригинального проекта от ST.

Используемое ПО:

STM32CubeMX, Keil mVision.

Исходные данные оригинального проекта:

https://github.com/STMicroelectronics/STM32CubeF4

Каталог оригинального проекта:

STM32CubeF4-master\Projects\STM32F4-Discovery\Examples\BSP

Тестовая плата:

С контроллером STM32F407VGT6

Цель:

Убрать из проекта всё, что касается светодиодов, акселерометра

и МЕМС микрофона. Оставить только

обработку сырых WAV аудио. Добавить в проект SD карту Fat32. Научить проект проигрывать файлы, которые лежат на SD карте. Выбор файла для воспроизведения — по имени.

Переработать обработчик воспроизведения так, чтобы

можно было в процессе воспроизведения

файла останавливать воспроизведение.

Остановить воспроизведение — значит

прекратить использование текущего

файла, который воспроизводится. Это

значит освободить файл. Это не пауза.

Это именно СТОП. И после этого ожидать

новой команды воспроизведения.

Автомат (не блокирующий) для работы со звуковыми

файлами должен располагаться в блоке

main().

int main(void)

{

HAL_Init();

SystemClock_Config();

init_all_periph();

stopFlag=0; //управляющий сигнал СТОП

currFile=""; // Имя текущего аудио

playAvtomat=0; //Установить извне в 1 для начала воспроизведения

while(1)

{

if (playAvtomat==1)

{

openPlayFile(currFile);

playAvtomat=2;

}

else if (playAvtomat==2)

{

startPlayFile(currFile);

playAvtomat=3;

}

else if (playAvtomat==3)

{

if (stopFlag==1);

{

playAvtomat=100;

}

else

{

continuePlayFile(currFile);

}

}

else if (playAvtomat==100)

{

stopFlag=0;

playAvtomat=0;

stopPlayFile(currFile);

currFile="";

}

{

//Мой код

}

}

}

Оригинальный проект компилируется нормально. Звуковой

файл воспроизводится как положено. Все

действия с исходными данными согласно

файла:

STM32F4-Discovery\Examples\BSP\readme.txt

Работающий проект на выходе — это обязательно

связка Cube+Keil, чтобы можно было добавлять периферию по мере

необходимости.

3 года назад
zloykrot
Дмитрий 
43 годаРоссия
15 лет в сервисе
Был
2 года назад
  • Похожие заказы
  • Есть проект связанный с обработкой двумерной графики. Графики там мало, в основном манипуляции – открыть, закрыть, обьединить, показать, подвигать. Начали писать на лазарусе, но количество глюков задолбало. решено переводить на делфи. Задача не ...

    Закрыт
    3 года назад
  • [b]1. Назначение ПО[/b] Собрать базу данных номеров автоинформаторов России. [b]2. Принцип работы ПО[/b] Программа выполняет две операции - поиск и валидация. Программа ищёт на SERP Google номер Автоинформатора. Когда находит, проверяет подходит он или нет. Для этого программа звонит на ...

    Закрыт
    3 года назад
  • $5

    Нужно сделать задание в Qt creator "Нарисовать как меньшая окружность движется внутри по большей окружности. Через меню задается цвет и толщина линий окружностей (две отдельных вкладки меню)."

    Прикладное ПОнет заявок
    Закрыт
    3 года назад
  • Цель Мы хотим собирать данные, изначально сформулированные клиентами в Excel формате. Вместо того, чтобы просто брать Excel-файлы клиентов и пытаться извлечь из них необходимые данные, мы хотим задать клиентам некую user-friendly структуру в которой они нам будут ...

    Закрыт
    3 года назад
  • Суть в том, что буквально год назад bet365 начал активно бороться с ботами, из-за чего страницы перестали грузиться при использовании Selenium. Задание состоит в следующем: Есть обычный базовый код на Питоне: from selenium import webdriver URL = 'https://www.bet365.ru/' driver ...

    Закрыт
    3 года назад
  • $40

    Нужно написать модуль для node.js, который будет вызывать другую программу и возвращать результаты её работы (она их пишет в два файла) + тесты к модулю Подробное описание задачи и вызываемой программы в ТЗ

    Закрыт
    3 года назад
  • Есть переменная, допустим message_to_group Нужно написать вайбер бота на питоне, который будет отправлять сообщение, текст которого хранится в переменной message_to_group в группу в вайбере

    Закрыт
    3 года назад