Part of MicroGen4 Music Synthesizer Program. (But not test it yet.) I2S ,DMA ,Stereo ,16Bit Dac(PCM1781) See detail: http://www.geocities.jp/micro_diys/index2

Dependencies:   mbed

Now added generate Saw Wave to DAC function in generate(); You will hear Stereo saw wave sound now. /media/uploads/p_igmon/i2s_sample_test_audacity.png

more info: http://www.geocities.jp/micro_diys/i2s_test_sample/i2s_test_sample.html

Committer:
p_igmon
Date:
Thu Sep 21 10:20:50 2017 +0000
Revision:
1:48f506a7b488
Parent:
0:dc88722ab141
Added Sample Saw Wave in Function Generate.
; DAC PCM1781 Can Output Saw Wave now.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
p_igmon 0:dc88722ab141 1 /*
p_igmon 0:dc88722ab141 2 COPYRIGHT(c) 2014 p.igmon
p_igmon 0:dc88722ab141 3 */
p_igmon 0:dc88722ab141 4
p_igmon 0:dc88722ab141 5 #ifndef SYNTHESIZER_H
p_igmon 0:dc88722ab141 6 #define SYNTHESIZER_H
p_igmon 0:dc88722ab141 7
p_igmon 0:dc88722ab141 8 typedef signed long S32;
p_igmon 0:dc88722ab141 9 typedef signed short S16;
p_igmon 0:dc88722ab141 10 typedef signed char S8;
p_igmon 0:dc88722ab141 11 typedef unsigned long U32;
p_igmon 0:dc88722ab141 12 typedef unsigned short U16;
p_igmon 0:dc88722ab141 13 typedef unsigned char U8;
p_igmon 0:dc88722ab141 14
p_igmon 0:dc88722ab141 15 #include "mbed.h"
p_igmon 0:dc88722ab141 16 #include "cmsis.h"
p_igmon 0:dc88722ab141 17 #include "stm32f401xe.h"
p_igmon 0:dc88722ab141 18 #include "stm32f4xx.h"
p_igmon 0:dc88722ab141 19 #include "stm32f4xx_hal.h"
p_igmon 0:dc88722ab141 20 #include "stm32f4xx_hal_dma_ex.h"
p_igmon 0:dc88722ab141 21 #include "stm32f4xx_hal_dma.h"
p_igmon 0:dc88722ab141 22 #include "stm32f4xx_hal_i2s.h"
p_igmon 0:dc88722ab141 23
p_igmon 0:dc88722ab141 24 #include "stm32f4xx_hal_conf.h"
p_igmon 0:dc88722ab141 25 #include "stm32f4xx_it.h"
p_igmon 0:dc88722ab141 26
p_igmon 0:dc88722ab141 27 #include "error.h"
p_igmon 0:dc88722ab141 28 #include "pinmap.h"
p_igmon 0:dc88722ab141 29 #include "PinNames.h"
p_igmon 0:dc88722ab141 30 #include "gpio_irq_api.h"
p_igmon 0:dc88722ab141 31
p_igmon 0:dc88722ab141 32 #define I2S2 SPI2
p_igmon 0:dc88722ab141 33 #define DMA_BUFFERSIZE 2048
p_igmon 0:dc88722ab141 34
p_igmon 0:dc88722ab141 35
p_igmon 0:dc88722ab141 36 typedef enum
p_igmon 0:dc88722ab141 37 {
p_igmon 0:dc88722ab141 38 DMA_Idle = 0,
p_igmon 0:dc88722ab141 39 DMA_HalfComplete,
p_igmon 0:dc88722ab141 40 DMA_FullComplete,
p_igmon 0:dc88722ab141 41 }BUFFER_StateTypeDef;
p_igmon 0:dc88722ab141 42
p_igmon 0:dc88722ab141 43 void MX_GPIO_Init(void);
p_igmon 0:dc88722ab141 44 void uGen4_device_init(void);
p_igmon 0:dc88722ab141 45 void init_dmabuffer(void);
p_igmon 0:dc88722ab141 46 void i2s_dma_init(void);
p_igmon 0:dc88722ab141 47
p_igmon 0:dc88722ab141 48 void wave_generate(void);
p_igmon 0:dc88722ab141 49
p_igmon 0:dc88722ab141 50 void test_loop(void);
p_igmon 0:dc88722ab141 51 void test_loop2(void);
p_igmon 0:dc88722ab141 52
p_igmon 0:dc88722ab141 53 #endif