16bit resolution PWM wave player with SD card, super lite version.

Dependencies:   mbed DirectSPI FastPWM

Supported boards (confirmed):
Nucleo-F030R8
Nucleo-L152RE
Nucleo-F401RE
Nucleo-F411RE

Only compilation is OK (unchecked, but may work):
Nucleo-L073RZ
Nucleo-F334R8
Nucleo-F303RE
Nucleo-F429ZI
Nucleo-F446RE
Nucleo-F446ZE
Nucleo-L476RG

Supported SD card:
SDSC/SDHC card,
FAT16 and FAT32.
(1) At first, format SD card using SD Card Formatter
https://www.sdcard.org/downloads/formatter_4/index.html
(2) Copy PCM wav files to the SD card.
Supported file:
PCM wave file that have file extension ".wav" on root directory.
16bit/8bit, fs(sampling rate)=32kHz,44.1kHz,48kHz.
Stereo/Mono.

Hardware setting:
Refer to the file port_setting.txt
PWM output port:
Left upper(Hi) PWM 8bit out: PB_5 (TM3_CH2)
Right upper(Hi) PWM 8bit out: PB4 (TM3_CH1)
Left lower(Low) PWM 8bit out: PC_9 (TM3_CH4)
Right lower(Low) PWM 8bit out: PC_8 (TM3_CH3)
http://mpu.up.seesaa.net/image/16bit-wave-player-output-schema.png
USER_BUTTON: PC_13(default button)
Next song: One click in Play mode.
Pause : Push long time .
Play : One click from Pause.

Committer:
mimi3
Date:
Fri Oct 09 07:47:36 2020 +0900
Revision:
21:dc161a192ba7
Parent:
14:c87938f5ab01
trivial change

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mimi3 3:ee1947a6e0a4 1 ### Button SW PC13
mimi3 3:ee1947a6e0a4 2 ### LED indicator PB10
mimi3 3:ee1947a6e0a4 3 ### TEST PORT ###
mimi3 3:ee1947a6e0a4 4 #define TEST_PORT PA_8 # D7
mimi3 3:ee1947a6e0a4 5
mimi3 14:c87938f5ab01 6 ### USART2 ###
mimi3 3:ee1947a6e0a4 7 # PA2 ------> USART2_TX
mimi3 3:ee1947a6e0a4 8 # PA3 ------> USART2_RX
mimi3 3:ee1947a6e0a4 9
mimi3 3:ee1947a6e0a4 10 ### PWM With TIM3 ###
mimi3 3:ee1947a6e0a4 11 // Use PWM3-1,PWM3-2 with TIM3
mimi3 3:ee1947a6e0a4 12 #define PWM_PORT_LEFT_HI PB_5 // TIM3_CH2
mimi3 3:ee1947a6e0a4 13 #define PWM_PORT_RIGHT_HI PB_4 // TIM3_CH1
mimi3 3:ee1947a6e0a4 14
mimi3 3:ee1947a6e0a4 15 // Use PWM3-3,PWM3-4 with TIM3
mimi3 3:ee1947a6e0a4 16 #define PWM_PORT_LEFT_LOW PC_9 // TIM3_CH4
mimi3 3:ee1947a6e0a4 17 #define PWM_PORT_RIGHT_LOW PC_8 // TIM3_CH3
mimi3 3:ee1947a6e0a4 18
mimi3 3:ee1947a6e0a4 19 ### SPI1 ###
mimi3 3:ee1947a6e0a4 20 # PB6(CS) chip select port
mimi3 3:ee1947a6e0a4 21 # PA5(SCK)
mimi3 3:ee1947a6e0a4 22 # PA6(MISO)
mimi3 3:ee1947a6e0a4 23 # PA7(MOSI)