⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2s_demo.h

📁 i2s usb audio demo lpc2138
💻 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 + -