首先根据自己的原理图配置pio,注意这里是16进制显示
设置SCL SDA
pio16 = 10
pio17 = 11
//da7212.c
#include <i2c.h>
#include <panic.h>
#include <pio.h>
#include <message.h>
#include <bitserial_api.h>
#include "sink_debug.h"
#include "TM716I2c.h"
#include <system_clock.h>
/*#include "adk_log.h"*/
#ifdef DEBUG_MAIN
#define MAIN_DEBUG(x) DEBUG(x)
#define TRUE_OR_FALSE(x) ((x) ? 'T':'F')
#else
#define MAIN_DEBUG(x)
#endif
#define DA7212_I2C_ADDRESS 0x01
#define DA7212_SCL_PIO 16
#define DA7212_SDA_PIO 17
#define DA7212_ENABLE_PIO 15
#define ARRAY_DIM(a) (sizeof(a) / sizeof((a)[0]))
#define PIO2BANK(pio) ((uint16)((pio) / 32))
#define PIO2MASK(pio) (1UL << ((pio) % 32))
gCodecTaskData appCodecDa7212;
const da7212_reg_init_table_t da7212_reg_init_table [] =
{
{
0x1d, 0x80},//Reset codec
{
0x23, 0x08},//Enable Bias
};
/*
const da7212_reg_init_table_t start_up_init [] =
{
{0x01,0x10},{0x01,0x30},{0x01,0x00},{0x01,0x80},{0x01,0x8e},{0x01,0x63},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},
{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},
{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},
{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},
{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},{0x01,0x00},
{0x01,0x00},{0x01,0x00},{0x01,0x4e},
};*/
/*
const test_table_t test [] =
{
{0x01},{0x10},
};*/
uint8 start_up_init [53]={
0x10, 0x30, 0x00, 0x80, 0x8e, 0x63, 0x00, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x4e };
uint8 mute[5] =