DISCO-F746NGのAudioOutから正弦波をスイープとして出力します。ダブルバッファリングを使って、リアルタイムにデータ生成をしています。 This program outputs sine sweep from AudioOut on DISCO-F746NG. The program uses double buffering when generates data signals.

Dependencies:   BSP_DISCO_F746NG_patch_fixed LCD_DISCO_F746NG mbed

Committer:
nanase
Date:
Sat Dec 26 07:20:53 2015 +0000
Revision:
0:ece4ec581d2b
First commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nanase 0:ece4ec581d2b 1 #include "mbed.h"
nanase 0:ece4ec581d2b 2 #include "stm32746g_discovery_audio.h"
nanase 0:ece4ec581d2b 3 #include "LCD_DISCO_F746NG.h"
nanase 0:ece4ec581d2b 4
nanase 0:ece4ec581d2b 5 #define PI ((double)3.1415926535897932384626433832795028)
nanase 0:ece4ec581d2b 6 #define SamplingFreq I2S_AUDIOFREQ_16K
nanase 0:ece4ec581d2b 7 #define BufferSize (1024) /* Sample Size */
nanase 0:ece4ec581d2b 8 #define BufferByteSize (BufferSize * AUDIODATA_SIZE) /* Byte Size */
nanase 0:ece4ec581d2b 9
nanase 0:ece4ec581d2b 10 #define AudioVolume ((uint8_t)8)
nanase 0:ece4ec581d2b 11 #define Amplifier ((double)0.25)
nanase 0:ece4ec581d2b 12
nanase 0:ece4ec581d2b 13 #define MaxFreq ((double)8000)
nanase 0:ece4ec581d2b 14 #define MinFreq ((double)50)
nanase 0:ece4ec581d2b 15 #define SweepSpeed ((double)0.01)
nanase 0:ece4ec581d2b 16
nanase 0:ece4ec581d2b 17 extern LCD_DISCO_F746NG lcd;
nanase 0:ece4ec581d2b 18 extern DigitalOut led1;
nanase 0:ece4ec581d2b 19 extern int16_t sweep_buffer[BufferSize];
nanase 0:ece4ec581d2b 20
nanase 0:ece4ec581d2b 21 void AUDIO_OUT_SAIx_DMAx_IRQHandler();
nanase 0:ece4ec581d2b 22
nanase 0:ece4ec581d2b 23 void error_trap();
nanase 0:ece4ec581d2b 24 void printlcd(const char *str);
nanase 0:ece4ec581d2b 25 void printlcdAt(const char *str, uint16_t line);
nanase 0:ece4ec581d2b 26
nanase 0:ece4ec581d2b 27 void fill_buffer(uint32_t offset, uint32_t size);