f303k8 wav player
Dependencies: SDFileSystem mbed
main.cpp@0:1561c4efda0e, 2016-07-31 (annotated)
- Committer:
- nameless129
- Date:
- Sun Jul 31 12:13:36 2016 +0000
- Revision:
- 0:1561c4efda0e
- Child:
- 1:7a3f34b2d18b
wabPlayer??????
Who changed what in which revision?
User | Revision | Line number | New 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 | } |