f303k8 wav player

Dependencies:   SDFileSystem mbed

Committer:
nameless129
Date:
Sun Jul 31 12:13:36 2016 +0000
Revision:
0:1561c4efda0e
Child:
1:7a3f34b2d18b
wabPlayer??????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nameless129 0:1561c4efda0e 1 #include "mbed.h"
nameless129 0:1561c4efda0e 2 #include <stdio.h>
nameless129 0:1561c4efda0e 3 #include "SDFileSystem.h"
nameless129 0:1561c4efda0e 4 #include "stm32f3xx_hal_rcc.h"
nameless129 0:1561c4efda0e 5 #include "cmsis_nvic.h"
nameless129 0:1561c4efda0e 6 #include "wavPlayer.h"
nameless129 0:1561c4efda0e 7
nameless129 0:1561c4efda0e 8 static void MX_TIM6_Init(void);
nameless129 0:1561c4efda0e 9 static void MX_NVIC_Init(void);
nameless129 0:1561c4efda0e 10 void TIM6_IRQHandler(void);
nameless129 0:1561c4efda0e 11 TIM_HandleTypeDef htim6;
nameless129 0:1561c4efda0e 12 Ticker flipper;
nameless129 0:1561c4efda0e 13 FATFS FatFs;
nameless129 0:1561c4efda0e 14 wavPlayerOnDAC wavPlayer(PA_4);
nameless129 0:1561c4efda0e 15 //AnalogOut DACout(PA_4);
nameless129 0:1561c4efda0e 16
nameless129 0:1561c4efda0e 17 SDFileSystem sd(PB_5, PB_4, PB_3, PA_11, "sd"); // the pinout on the mbed Cool Components workshop board
nameless129 0:1561c4efda0e 18 DigitalOut pin(PA_12);
nameless129 0:1561c4efda0e 19 DigitalOut pin2(PB_0);
nameless129 0:1561c4efda0e 20 DigitalIn button(PA_0,PullDown);
nameless129 0:1561c4efda0e 21 BusIn DipSW(PA_10,PA_9,PA_12,PB_0);
nameless129 0:1561c4efda0e 22
nameless129 0:1561c4efda0e 23
nameless129 0:1561c4efda0e 24 void TIM6_IRQHandler() {
nameless129 0:1561c4efda0e 25 __HAL_TIM_CLEAR_IT(&htim6 , TIM_FLAG_UPDATE);
nameless129 0:1561c4efda0e 26 wavPlayer.DACOutProc();
nameless129 0:1561c4efda0e 27 }
nameless129 0:1561c4efda0e 28
nameless129 0:1561c4efda0e 29
nameless129 0:1561c4efda0e 30 static void MX_NVIC_Init(void)
nameless129 0:1561c4efda0e 31 {
nameless129 0:1561c4efda0e 32 /* TIM6_DAC1_IRQn interrupt configuration */
nameless129 0:1561c4efda0e 33 HAL_NVIC_SetPriority(TIM6_DAC1_IRQn, 0, 0);
nameless129 0:1561c4efda0e 34 HAL_NVIC_EnableIRQ(TIM6_DAC1_IRQn);
nameless129 0:1561c4efda0e 35 }
nameless129 0:1561c4efda0e 36 /* TIM6 init function */
nameless129 0:1561c4efda0e 37 static void MX_TIM6_Init(void)
nameless129 0:1561c4efda0e 38 {
nameless129 0:1561c4efda0e 39 __TIM6_CLK_ENABLE();
nameless129 0:1561c4efda0e 40 htim6.Instance = TIM6;
nameless129 0:1561c4efda0e 41 htim6.Init.Prescaler = 1;
nameless129 0:1561c4efda0e 42 htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
nameless129 0:1561c4efda0e 43 htim6.Init.Period = 1451;
nameless129 0:1561c4efda0e 44 if (HAL_TIM_Base_Init(&htim6) != HAL_OK) {
nameless129 0:1561c4efda0e 45 while(1) {
nameless129 0:1561c4efda0e 46 }
nameless129 0:1561c4efda0e 47 }
nameless129 0:1561c4efda0e 48 HAL_TIM_Base_Start_IT(&htim6);
nameless129 0:1561c4efda0e 49 }
nameless129 0:1561c4efda0e 50
nameless129 0:1561c4efda0e 51
nameless129 0:1561c4efda0e 52 int main(void)
nameless129 0:1561c4efda0e 53 {
nameless129 0:1561c4efda0e 54 FRESULT wavFileResult;
nameless129 0:1561c4efda0e 55 FIL fil;
nameless129 0:1561c4efda0e 56 int i,j;
nameless129 0:1561c4efda0e 57
nameless129 0:1561c4efda0e 58 MX_TIM6_Init();
nameless129 0:1561c4efda0e 59 NVIC_SetVector(TIM6_DAC1_IRQn, (uint32_t)&TIM6_IRQHandler);
nameless129 0:1561c4efda0e 60 MX_NVIC_Init();
nameless129 0:1561c4efda0e 61
nameless129 0:1561c4efda0e 62 DipSW.mode(PullDown);
nameless129 0:1561c4efda0e 63
nameless129 0:1561c4efda0e 64 f_mount(&FatFs,"",0);
nameless129 0:1561c4efda0e 65 wavFileResult = f_open(&fil, "LondonCalling.wav", FA_READ);
nameless129 0:1561c4efda0e 66 printf("error:%d\r\n",(int)wavFileResult);
nameless129 0:1561c4efda0e 67 wavPlayer.setFile(&fil);
nameless129 0:1561c4efda0e 68 printf("buff ok\r\n");
nameless129 0:1561c4efda0e 69 while(button == 1)
nameless129 0:1561c4efda0e 70 {
nameless129 0:1561c4efda0e 71 }
nameless129 0:1561c4efda0e 72 printf("start\r\n");
nameless129 0:1561c4efda0e 73 while(1) {
nameless129 0:1561c4efda0e 74
nameless129 0:1561c4efda0e 75 if(wavPlayer.readProc() == 1)
nameless129 0:1561c4efda0e 76 {
nameless129 0:1561c4efda0e 77 printf("END\r\n");
nameless129 0:1561c4efda0e 78 wavPlayer.rewind();
nameless129 0:1561c4efda0e 79 }
nameless129 0:1561c4efda0e 80 }
nameless129 0:1561c4efda0e 81 }