TDA7419调试记录(2)——2015/04/17
来源:互联网 发布:淘宝销售额排行榜 编辑:程序博客网 时间:2024/06/06 08:50
问题:TDA7419初始化后出现杂音?
有杂音:
/****************************************************************************** Copyright (C), 2015-2030, ALONG ****************************************************************************** FileName : audio_7419.c Version : v0.1 Author : Lawrence Create Date : 2015/04/16 Recent Modify : Func instruction : audio_7419 function implementions Function list : Modify History : 1.DateTime : 2015/04/16 Author : Lawrence Modify what : Create file******************************************************************************/#include "audio_7419.h"#include "tda7419.h"/*----------------------------------------------* * extern var instruction * *----------------------------------------------*//*----------------------------------------------* * extern func prototype instruction * *----------------------------------------------*//*----------------------------------------------* * func prototype instruction * *----------------------------------------------*/static void TDA7419_send( uint8 addr, uint8 *buf, int len);static void TDA7419_volume_calc( uint8 type );/*----------------------------------------------* * General var statement * *----------------------------------------------*//*----------------------------------------------* * Const var define * *----------------------------------------------*/#define UP 1#define DOWN-1//val to Volume Addr Register[0x03]static const unsigned char VolTable[]={0x7F, // mute// 00x5F, // -79dB0x5E, // -78dB0x5D, // -77dB0x5C, // -76dB0x5B, // -75dB0x5A, // -74dB0x59, // -73dB0x58, // -72dB0x57, // -71dB0x56, // -70dB// 100x55, // -69dB0x54, // -68dB0x53, // -67dB0x52, // -66dB0x51, // -65dB0x50, // -64dB0x4F, // -63dB0x4E, // -62dB0x4D, // -61dB0x4C, // -60dB// 200x4B, // -59dB0x4A, // -58dB0x49, // -57dB0x48, // -56dB0x47, // -55dB0x46, // -54dB0x45, // -53dB0x44, // -52dB0x43, // -51dB0x42, // -50dB// 300x41, // -49dB0x40, // -48dB0x3F, // -47dB0x3E, // -46dB0x3D, // -45dB0x3C, // -44dB0x3B, // -43dB0x3A, // -42dB0x39, // -41dB0x38, // -40dB// 400x37, // -39dB0x36, // -38dB0x35, // -37dB0x34, // -36dB0x33, // -35dB0x32, // -34dB0x31, // -33dB0x30, // -32dB0x2F, // -31dB0x2E, // -30dB// 500x2D, // -29dB0x2C, // -28dB0x2B, // -27dB0x2A, // -26dB0x29, // -25dB0x28, // -24dB0x27, // -23dB0x26, // -22dB0x25, // -21dB0x24, // -20dB// 600x23, // -19dB0x22, // -18dB0x21, // -17dB0x20, // -16dB0x1F, // -15dB0x1E, // -14dB0x1D, // -13dB0x1C, // -12dB0x1B, // -11dB0x1A, // -10dB// 700x19, // -9dB0x18, // -8dB0x17, // -7dB0x16, // -6dB0x15, // -5dB0x14, // -4dB0x13, // -3dB0x12, // -2dB0x11, // -1dB0x00, // +0dB// 800x01, // +1dB0x02, // +2dB0x03, // +3dB0x04, // +4dB0x05, // +5dB0x06, // +6dB0x07, // +7dB0x08, // +8dB0x09, // +9dB0x0A, // +10dB// 900x0B, // +11dB0x0C, // +12dB0x0D, // +13dB0x0E, // +14dB0x0F // +15dB};//index of VolTablestatic const unsigned char VolChangeTable[]={0,6,11,16,20,24,26,28,30,32,34,36,38,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,68,69,70,71,72,73,74,75,76,77,78,79,80};static const unsigned char SourceTable[]={0x62,// y01100010; Radio, input se2, gain = 12 dB0,1, // y00000001; SEL1, gain = 0dB3, // y00000011; SEL3, gain = 0dB6 // y00000110; MUTE, gain = 0dB};static const unsigned char LoudTable[]={0x00, // +0dB//0x01, // +1dB//0x02, // +2dB//0x03, // +3dB/*0x04, // +4dB0x05, // +5dB*/0x06, // +6dB//low/*0x07, // +7dB0x08, // +8dB0x09, // +9dB*/0x0A, // +10dB//mid/*0x0B, // +11dB0x0C, // +12dB0x0D, // +13dB0x0E, // +14dB*/0x0F // +15dB//high};static const unsigned char SubwTable[]={0x00, // +0dB0x01, // +1dB0x02, // +2dB0x03, // +3dB0x04, // +4dB0x05, // +5dB0x06, // +6dB0x07, // +7dB0x08, // +8dB0x09, // +9dB//0x0A, // +10dB0x0B, // +11dB//0x0C, // +12dB0x0D, // +13dB//0x0E, // +14dB0x0F, // +15dB0x7F // mute};static const unsigned char BasTreTable[]={//0x0F, // -15dB//0x0E, // -14dB//0x0D, // -13dB0x0C, // -12dB//0x0B, // -11dB0x0A, // -10dB//0x09, // -9dB0x08, // -8dB//0x07, // -7dB0x06, // -6dB//0x05, // -5dB0x04, // -4dB//0x03, // -3dB0x02, // -2dB//0x01, // -1dB0x10, // +0dB//0x11, // +1dB0x12, // +2dB//0x13, // +3dB0x14, // +4dB//0x15, // +5dB0x16, // +6dB//0x17, // +7dB0x18, // +8dB//0x19, // +9dB0x1A, // +10dB//0x1B, // +11dB0x1C//, +12dB//0x1D, // +13dB//0x1E, // +14dB//0x1F, // +15dB};static const unsigned char BalFadTable[]={0x00, // +0dB0x13, // -3dB0x15, // -5dB0x18, // -8dB0x1A, // -10dB0x1D, // -13dB0x1F, // -15dB0x22, // -18dB0x24, // -20dB0x27, // -23dB0x29, // -25dB0x2C, // -28dB0x7F // mute};static const unsigned char EQTable[]={// Bass, Treble10,10,//Classic10,12, //Pop12,12,//Rock};.../*----------------------------------------------* * Module var * *----------------------------------------------*/ //buffer store TDA7419 registers value#define REGISTER_COUNT (18)uint8 TDA7419_register_buf[REGISTER_COUNT] = {0};//TDA7419 registers description and statestruct TDA7419_desc gTDA7419_desc_val;extern TDES_T *tdesp;/*----------------------------------------------* * Function Define * *----------------------------------------------*//***************************************************************************** Func Name : TDA7419_init Funciont : init TDA7419 register In para : void Out para : Return val : void CB func : Be CB func : Modify History : 1.DateTime : 2015/04/16 Author : Lawrence Modification: New func*****************************************************************************/void TDA7419_init( void ){ TDA7419_register_buf[0] = Bit00110000; //Main selector: gain 6dB TDA7419_register_buf[1] = Bit11100000; //Main selector: gain 6dB TDA7419_register_buf[2] = Bit00000111; //Main selector: gain 6dB TDA7419_register_buf[3] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[4] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[5] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[6] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[7] = Bit00110000; //Main selector: gain 6dB TDA7419_register_buf[8] = Bit01000000; //Main selector: gain 6dB TDA7419_register_buf[9] = Bit11110111; //Main selector: gain 6dB TDA7419_register_buf[10] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[11] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[12] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[13] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[14] = Bit10000000; //Main selector: gain 6dB TDA7419_register_buf[15] = Bit10000000; //Main selector: gain 6dB TDA7419_register_buf[16] = Bit00010111; //Main selector: gain 6dB TDA7419_register_buf[17] = Bit00000000; //Main selector: gain 6dB gTDA7419_desc_val.audio_vol = 22; gTDA7419_desc_val.audio_main_vol = 22; gTDA7419_desc_val.audio_sec_vol = 22; gTDA7419_desc_val.audio_main_source = AUDIO_INPUT_SYS; gTDA7419_desc_val.audio_sec_source = AUDIO_INPUT_SYS; gTDA7419_desc_val.audio_work_mode = AUDIO_MODE_IDLE; gTDA7419_desc_val.audio_eq_mode = EQ_MODE_OFF; TDA7419_volume_calc(AUDIO_ALL_VAL);int i;for(i = 0; i < REGISTER_COUNT; i++){TDA7419_send(i, TDA7419_register_buf + i, 1);} }/***************************************************************************** Func Name : TDA7419_volume_calc Funciont : calculate the volume depend on parameters from various aspects In para : void Out para : Return val : void CB func : Be CB func : Modify History : 1.DateTime : 2015/04/17 Author : Lawrence Modification: New func*****************************************************************************/static void TDA7419_volume_calc( uint8 type ){#if 0 TDA7419_register_buf[6]=(TDA7419_register_buf[6] & 0xE0)+BasTreTable[AudioBas];TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xCF)+(AudioBasFre<<4);TDA7419_register_buf[6]=(TDA7419_register_buf[6] & 0x9F)+(AudioBasQ<<5);TDA7419_register_buf[4]=(TDA7419_register_buf[4] & 0xE0)+BasTreTable[AudioTre];TDA7419_register_buf[4]=(TDA7419_register_buf[4] & 0x9F)+(AudioTreFre<<5);TDA7419_register_buf[5]=(TDA7419_register_buf[5] & 0xE0)+BasTreTable[AudioMid];TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xF3)+(AudioMidFre<<2);TDA7419_register_buf[5]=(TDA7419_register_buf[5] & 0x9F)+(AudioMidQ<<5);TDA7419_register_buf[1]=(TDA7419_register_buf[1] & 0xF0)+GetRealLoudTable(AudioIXBass);//LoudTable[AudioIXBass];TDA7419_register_buf[1]=(TDA7419_register_buf[1] & 0xCF)+(AudioIXBassFre<<4);TDA7419_register_buf[15] = SubwTable[AudioSubw];TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xFC)+AudioSubwFre;#else //choose source channel TDA7419_register_buf[0] = (TDA7419_register_buf[0] & 0xF8) + 1 ; TDA7419_register_buf[1]=(TDA7419_register_buf[1] & 0xF0) + 0;TDA7419_register_buf[1]=(TDA7419_register_buf[1] & 0xCF) + 0; //TDA7419_register_buf[3]= ; TDA7419_register_buf[4]=(TDA7419_register_buf[4] & 0xE0) + 0;TDA7419_register_buf[4]=(TDA7419_register_buf[4] & 0x9F) + 0; TDA7419_register_buf[5]=(TDA7419_register_buf[5] & 0xE0) + 0; TDA7419_register_buf[5]=(TDA7419_register_buf[5] & 0x9F) + 0; TDA7419_register_buf[6]=(TDA7419_register_buf[6] & 0xE0) + 0;TDA7419_register_buf[6]=(TDA7419_register_buf[6] & 0x9F) + 0; TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xCF) + 0;TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xF3) + 0; TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xFC) + 0;TDA7419_register_buf[15] = SubwTable[10]; TDA7419_register_buf[10] = 0x00; TDA7419_register_buf[11] = 0x00; TDA7419_register_buf[12] = 0x00; TDA7419_register_buf[13] = 0x00; TDA7419_register_buf[16] &= 0x7F; TDA7419_register_buf[2] |= 0x01;#endif}/***************************************************************************** Func Name : TDA7419_send Funciont : send register values to tda7419 In para : void Out para : Return val : void CB func : Be CB func : Modify History : 1.DateTime : 2015/04/17 Author : Lawrence Modification: New func*****************************************************************************/static void TDA7419_send( uint8 addr, uint8 *buf, int len){//I2C send: addr, send_buf; len, send_bytes;tdesp->i2c_write(tdesp->client, addr, buf, len);}
没有杂音:
/****************************************************************************** Copyright (C), 2015-2030, ALONG ****************************************************************************** FileName : audio_7419.c Version : v0.1 Author : Lawrence Create Date : 2015/04/16 Recent Modify : Func instruction : audio_7419 function implementions Function list : Modify History : 1.DateTime : 2015/04/16 Author : Lawrence Modify what : Create file******************************************************************************/#include "audio_7419.h"#include "tda7419.h"/*----------------------------------------------* * extern var instruction * *----------------------------------------------*//*----------------------------------------------* * extern func prototype instruction * *----------------------------------------------*//*----------------------------------------------* * func prototype instruction * *----------------------------------------------*/static int TDA7419_send( uint8 addr, uint8 *buf, int len);static void TDA7419_volume_calc( uint8 type );/*----------------------------------------------* * General var statement * *----------------------------------------------*//*----------------------------------------------* * Const var define * *----------------------------------------------*/#define UP 1#define DOWN-1//val to Volume Addr Register[0x03]static const unsigned char VolTable[]={0x7F, // mute// 00x5F, // -79dB0x5E, // -78dB0x5D, // -77dB0x5C, // -76dB0x5B, // -75dB0x5A, // -74dB0x59, // -73dB0x58, // -72dB0x57, // -71dB0x56, // -70dB// 100x55, // -69dB0x54, // -68dB0x53, // -67dB0x52, // -66dB0x51, // -65dB0x50, // -64dB0x4F, // -63dB0x4E, // -62dB0x4D, // -61dB0x4C, // -60dB// 200x4B, // -59dB0x4A, // -58dB0x49, // -57dB0x48, // -56dB0x47, // -55dB0x46, // -54dB0x45, // -53dB0x44, // -52dB0x43, // -51dB0x42, // -50dB// 300x41, // -49dB0x40, // -48dB0x3F, // -47dB0x3E, // -46dB0x3D, // -45dB0x3C, // -44dB0x3B, // -43dB0x3A, // -42dB0x39, // -41dB0x38, // -40dB// 400x37, // -39dB0x36, // -38dB0x35, // -37dB0x34, // -36dB0x33, // -35dB0x32, // -34dB0x31, // -33dB0x30, // -32dB0x2F, // -31dB0x2E, // -30dB// 500x2D, // -29dB0x2C, // -28dB0x2B, // -27dB0x2A, // -26dB0x29, // -25dB0x28, // -24dB0x27, // -23dB0x26, // -22dB0x25, // -21dB0x24, // -20dB// 600x23, // -19dB0x22, // -18dB0x21, // -17dB0x20, // -16dB0x1F, // -15dB0x1E, // -14dB0x1D, // -13dB0x1C, // -12dB0x1B, // -11dB0x1A, // -10dB// 700x19, // -9dB0x18, // -8dB0x17, // -7dB0x16, // -6dB0x15, // -5dB0x14, // -4dB0x13, // -3dB0x12, // -2dB0x11, // -1dB0x00, // +0dB// 800x01, // +1dB0x02, // +2dB0x03, // +3dB0x04, // +4dB0x05, // +5dB0x06, // +6dB0x07, // +7dB0x08, // +8dB0x09, // +9dB0x0A, // +10dB// 900x0B, // +11dB0x0C, // +12dB0x0D, // +13dB0x0E, // +14dB0x0F // +15dB};//index of VolTablestatic const unsigned char VolChangeTable[]={0,6,11,16,20,24,26,28,30,32,34,36,38,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,68,69,70,71,72,73,74,75,76,77,78,79,80};static const unsigned char SourceTable[]={0x62,// y01100010; Radio, input se2, gain = 12 dB0,1, // y00000001; SEL1, gain = 0dB3, // y00000011; SEL3, gain = 0dB6 // y00000110; MUTE, gain = 0dB};static const unsigned char LoudTable[]={0x00, // +0dB//0x01, // +1dB//0x02, // +2dB//0x03, // +3dB/*0x04, // +4dB0x05, // +5dB*/0x06, // +6dB//low/*0x07, // +7dB0x08, // +8dB0x09, // +9dB*/0x0A, // +10dB//mid/*0x0B, // +11dB0x0C, // +12dB0x0D, // +13dB0x0E, // +14dB*/0x0F // +15dB//high};static const unsigned char SubwTable[]={0x00, // +0dB0x01, // +1dB0x02, // +2dB0x03, // +3dB0x04, // +4dB0x05, // +5dB0x06, // +6dB0x07, // +7dB0x08, // +8dB0x09, // +9dB//0x0A, // +10dB0x0B, // +11dB//0x0C, // +12dB0x0D, // +13dB//0x0E, // +14dB0x0F, // +15dB0x7F // mute};static const unsigned char BasTreTable[]={//0x0F, // -15dB//0x0E, // -14dB//0x0D, // -13dB0x0C, // -12dB//0x0B, // -11dB0x0A, // -10dB//0x09, // -9dB0x08, // -8dB//0x07, // -7dB0x06, // -6dB//0x05, // -5dB0x04, // -4dB//0x03, // -3dB0x02, // -2dB//0x01, // -1dB0x10, // +0dB//0x11, // +1dB0x12, // +2dB//0x13, // +3dB0x14, // +4dB//0x15, // +5dB0x16, // +6dB//0x17, // +7dB0x18, // +8dB//0x19, // +9dB0x1A, // +10dB//0x1B, // +11dB0x1C//, +12dB//0x1D, // +13dB//0x1E, // +14dB//0x1F, // +15dB};static const unsigned char BalFadTable[]={0x00, // +0dB0x13, // -3dB0x15, // -5dB0x18, // -8dB0x1A, // -10dB0x1D, // -13dB0x1F, // -15dB0x22, // -18dB0x24, // -20dB0x27, // -23dB0x29, // -25dB0x2C, // -28dB0x7F // mute};static const unsigned char EQTable[]={// Bass, Treble10,10,//Classic10,12, //Pop12,12,//Rock};/*----------------------------------------------* * Module var * *----------------------------------------------*/ //buffer store TDA7419 registers value#define REGISTER_COUNT (18)uint8 TDA7419_register_buf[REGISTER_COUNT] = {0};//TDA7419 registers description and statestruct TDA7419_desc gTDA7419_desc_val;extern TDES_T *tdesp;/*----------------------------------------------* * Function Define * *----------------------------------------------*//***************************************************************************** Func Name : TDA7419_init Funciont : init TDA7419 register In para : void Out para : Return val : void CB func : Be CB func : Modify History : 1.DateTime : 2015/04/16 Author : Lawrence Modification: New func*****************************************************************************/void TDA7419_init( void ){ TDA7419_register_buf[0] = Bit10000000; //Main selector: gain 6dB //Bit10000011 //bug 1 TDA7419_register_buf[1] = Bit11100000; //Main selector: gain 6dB TDA7419_register_buf[2] = Bit10000111; //Main selector: gain 6dB<span style="white-space:pre"></span>//debug already TDA7419_register_buf[3] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[4] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[5] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[6] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[7] = Bit00110000; //Main selector: gain 6dB TDA7419_register_buf[8] = Bit01000000; //Main selector: gain 6dB TDA7419_register_buf[9] = Bit11111111; //Main selector: gain 6dB<span style="white-space:pre"></span>//bug2 TDA7419_register_buf[10] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[11] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[12] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[13] = Bit00000000; //Main selector: gain 6dB TDA7419_register_buf[14] = Bit10000000; //Main selector: gain 6dB TDA7419_register_buf[15] = Bit10000000; //Main selector: gain 6dB TDA7419_register_buf[16] = Bit00010111; //Main selector: gain 6dB TDA7419_register_buf[17] = Bit00000000; //Main selector: gain 6dB#if 0 gTDA7419_desc_val.audio_vol = 22; gTDA7419_desc_val.audio_main_vol = 22; gTDA7419_desc_val.audio_sec_vol = 22; gTDA7419_desc_val.audio_main_source = AUDIO_INPUT_SYS; gTDA7419_desc_val.audio_sec_source = AUDIO_INPUT_SYS; gTDA7419_desc_val.audio_work_mode = AUDIO_MODE_IDLE; gTDA7419_desc_val.audio_eq_mode = EQ_MODE_OFF; TDA7419_volume_calc(AUDIO_ALL_VAL);#endifint i;for(i = 0; i < REGISTER_COUNT; i++){TDA7419_send(i, TDA7419_register_buf + i, 1);} }/***************************************************************************** Func Name : TDA7419_volume_calc Funciont : calculate the volume depend on parameters from various aspects In para : void Out para : Return val : void CB func : Be CB func : Modify History : 1.DateTime : 2015/04/17 Author : Lawrence Modification: New func*****************************************************************************/static void TDA7419_volume_calc( uint8 type ){#if 0 TDA7419_register_buf[6]=(TDA7419_register_buf[6] & 0xE0)+BasTreTable[AudioBas];TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xCF)+(AudioBasFre<<4);TDA7419_register_buf[6]=(TDA7419_register_buf[6] & 0x9F)+(AudioBasQ<<5);TDA7419_register_buf[4]=(TDA7419_register_buf[4] & 0xE0)+BasTreTable[AudioTre];TDA7419_register_buf[4]=(TDA7419_register_buf[4] & 0x9F)+(AudioTreFre<<5);TDA7419_register_buf[5]=(TDA7419_register_buf[5] & 0xE0)+BasTreTable[AudioMid];TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xF3)+(AudioMidFre<<2);TDA7419_register_buf[5]=(TDA7419_register_buf[5] & 0x9F)+(AudioMidQ<<5);TDA7419_register_buf[1]=(TDA7419_register_buf[1] & 0xF0)+GetRealLoudTable(AudioIXBass);//LoudTable[AudioIXBass];TDA7419_register_buf[1]=(TDA7419_register_buf[1] & 0xCF)+(AudioIXBassFre<<4);TDA7419_register_buf[15] = SubwTable[AudioSubw];TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xFC)+AudioSubwFre;#else //choose source channel TDA7419_register_buf[0] = (TDA7419_register_buf[0] & 0xF8) + 3 ; TDA7419_register_buf[1]=(TDA7419_register_buf[1] & 0xF0) + 0;TDA7419_register_buf[1]=(TDA7419_register_buf[1] & 0xCF) + 0; //TDA7419_register_buf[3]= ; TDA7419_register_buf[4]=(TDA7419_register_buf[4] & 0xE0) + 0;TDA7419_register_buf[4]=(TDA7419_register_buf[4] & 0x9F) + 0; TDA7419_register_buf[5]=(TDA7419_register_buf[5] & 0xE0) + 0; TDA7419_register_buf[5]=(TDA7419_register_buf[5] & 0x9F) + 0; TDA7419_register_buf[6]=(TDA7419_register_buf[6] & 0xE0) + 0;TDA7419_register_buf[6]=(TDA7419_register_buf[6] & 0x9F) + 0; TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xCF) + 0;TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xF3) + 0; TDA7419_register_buf[8]=(TDA7419_register_buf[8] & 0xFC) + 0;TDA7419_register_buf[15] = SubwTable[10]; TDA7419_register_buf[10] = 0x00; TDA7419_register_buf[11] = 0x00; TDA7419_register_buf[12] = 0x00; TDA7419_register_buf[13] = 0x00; TDA7419_register_buf[16] &= 0x7F; TDA7419_register_buf[2] |= 0x01;#endif}/***************************************************************************** Func Name : TDA7419_send Funciont : send register values to tda7419 In para : void Out para : Return val : void CB func : Be CB func : Modify History : 1.DateTime : 2015/04/17 Author : Lawrence Modification: New func*****************************************************************************/static int TDA7419_send( uint8 addr, uint8 *buf, int len){//I2C send: addr, send_buf; len, send_bytes;TPRINT("TDA7419_send reg_addr = 0x%x; data = %d\n", addr, *buf);return tdesp->i2c_write(tdesp->client, addr, buf, len);}
最终DEBUG结果:
TDA7419的28Pin有In/Out,在混音使能情况下是输入,不会有问题。但是如果混音被禁能了,就变成输出,这时Subwoof的音频直接又回环输入到SEL3_L Pin(线路:TDA7419的28Pin 和 SEL3_L相连),所以产生爆音。
0 0
- TDA7419调试记录(2)——2015/04/17
- TDA7419调试记录(1)——2015/04/17
- firefox调试记录8——小结
- OK6410调试记录——写在前面
- D3D调试经验记录(2)
- 错误调试记录2
- ubuntu12.04 MX28调试记录
- STM32F429调试记录(一)
- firefox调试记录2——Firefox运行流程初步跟踪
- C语言精华记录——捌(预处理、程序调试、编程风格)
- I2C 调试记录之——无应答 (ACK) 信号
- 标准【wpa_supplicant】到【神州数码】 认证的修改记录(中)——分析调试
- Pixhawk学习笔记(5)——PX4FLOW光流传感器调试过程记录
- firefox调试记录3——其他情况的跟踪
- firefox调试记录7——打开与修改文件
- OK6410调试记录——移植Uboot支持网络
- 【记录】Android无线调试——抛开USB数据线
- 调试记录
- 字体下载
- JavaWeb 学习(Java Web 典型模块与项目实战大全)
- [Rx86OS-XIV] 提高分辨率
- 前辍表达式,中辍表达式,后辍表达式详解
- ACM-二分-POJ-2785-4 Values whose Sum is 0
- TDA7419调试记录(2)——2015/04/17
- PID教程
- [leetcode]Maximum Product Subarray
- Hadoop常见错误解决
- vi常用命令
- 利用 js 给 WebView add 添加 padding
- 黑马程序员 for循环的条件的解释
- ORACLE—010:调用有游标参数的存储过程
- 黑马程序员——OC语言——分类和类的本质