Re: STM32F303 WAV_Player + DAC + DMA + SD
Значит вам понадобиться настроить DAC, для этого включаете таймер, допустим 6-ой, и включаете триггер по этому таймеру. Далее настраиваете DMA чтобы работал постоянно (в круговом режиме). Выделяете буфер на 512 байт. Чтобы запустить воспроизведение нужно открыть файл, считать заголовок wav, установить указатель чтения на начало данных (0x2c), считать в буфер первые 512 байт, запустить DMA и таймер. В прерывании DMA проверять по передаче половины или всего буфера оно произошло, если половины - то считать 256 байт и поместить их в первую половину буфера, если полного - то во вторую. Я так делал, работает. Естественно таймер настраиваете на вашу частоту дискретизации. И файлы нужны формата wav, без какого либо сжатия, 8 бит, частота дискретизации у меня 44100, но он и 48 сможет воспроизвести. Качество звука хорошее.
|