📄 i2s_demo.h
字号:
#ifndef I2S_DEMO_H_FILE
#define I2S_DEMO_H_FILE 1
#define DEBUG 1
#include "../../Common/inc/target.h"
//#define FREQ_PCLK_I2S 32761905
#define ACTUAL_FREQ_PCLK_I2S Fcclk
#define DESIRED_FREQ_PCLK_I2S 32768000
enum e_codec_status
{
CODEC_IDLE = 0,
CODEC_RECORD = 1,
CODEC_PLAYBACK = 2,
CODEC_LOOPBACK = 3,
CODEC_RECORD_PAUSE = 4,
CODEC_RECORD_STOP = 5,
CODEC_PLAYBACK_PAUSE = 6,
CODEC_PLAYBACK_STOP = 7
};
enum e_channel
{
LEFT_CHANNEL = 0,
RIGHT_CHANNEL = 1,
BOTH_CHANNELS = 2
};
enum e_volume
{
VOLUME_DOWN = 0,
VOLUME_UP = 1
};
typedef struct
{
unsigned int sample_rate;
unsigned int wordwidth;
unsigned int ws_sel;
unsigned int mono;
unsigned int ws_halfperiod;
const char config_msg[80];
} i2s_config_struct;
extern void UDA1341_start_audio_in(void);
extern void UDA1341_start_audio_out (void);
extern void i2s_start_dai(unsigned int i2s_sample_rate,
unsigned int i2s_wordwidth,
unsigned int i2s_ws_sel,
unsigned int i2s_mono,
unsigned int i2s_ws_halfperiod);
extern void i2s_start_dao(unsigned int i2s_sample_rate,
unsigned int i2s_wordwidth,
unsigned int i2s_ws_sel,
unsigned int i2s_mono,
unsigned int i2s_ws_halfperiod);
extern void i2s_stop_dai(void);
extern void i2s_stop_dao(void);
extern int volume_change(unsigned int channel,
unsigned int volume_change_direction);
extern int audio_playback(int config_index);
extern int audio_record(int config_index);
extern int audio_stop(void);
extern int audio_pause(void);
extern int audio_mute(void);
extern int i2s_change_config(void);
extern void display_config(void);
extern int UDA1341_change_mic_source(void);
extern void i2sAppDemo(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -