久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2019|回復: 5
打印 上一主題 下一主題
收起左側

I2C找不到設備 可能是焊接問題嗎?

[復制鏈接]
跳轉到指定樓層
樓主
I2C通訊下的IC地址是0x88(最后一位寫)因為pcb正反面畫錯,導致焊接時掰引腳,正面在下。驅動程序應該是沒錯的,因為檢查設備時可以收到“無設備”的應答也就是1,所以I2C是可以使用的。現在找不到這個IC,可能是焊接問題嗎?

1.png (13.17 KB, 下載次數: 49)

1.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:88964 發表于 2023-7-18 18:23 | 只看該作者
嘗試用個 IIC地址掃描程序  看看會不會掃描出其他地址  萬一芯片是非正品呢
回復

使用道具 舉報

板凳
ID:94031 發表于 2023-7-18 20:01 | 只看該作者
如果驅動程序沒錯,那肯定先檢查焊接是否正確。
回復

使用道具 舉報

地板
ID:123289 發表于 2023-7-19 08:56 | 只看該作者
解決方案:
1、查硬件線路,供電及各點電位正常。
2、再仔細閱讀芯片手冊。是否按手冊要求做了。
回復

使用道具 舉報

5#
ID:651494 發表于 2023-7-19 11:26 | 只看該作者
給個早期的C51的代碼你參考,PT2314電源最好用8V,PT2314E可以用5V電源,二者均不支持3V3,上拉電阻拉到PT2314供電上



#include"..\source\audio.h"


//全局變量定義
unsigned char g_Audio_Volume;
unsigned char g_Audio_Treble;
unsigned char g_Audio_Bass;
unsigned char g_Audio_Balance;
unsigned char g_Audio_Channel;
unsigned char code Volume_Buf[] = { 0, 2, 4, 6, 8,10,12,14,16,18,
                                   19,20,21,22,23,24,25,26,27,28,
                                   29,31,33,35,37,39,41,43,45,47,
                                   48,49,50,51,52,53,53 };                  
/*********************************************************************************************
Function: 此函數把一個字節數據輸入到I2C總線上,并確認傳輸有效
*********************************************************************************************/
bit PT2314_Write_Byte(unsigned char byte)
{
          unsigned char temp = 0x00;
          bit Acknowledge = 0;
          for(temp=0;temp<8;temp++)
          {
                    PT2314_SCL = 0;
                    NOP;
                    NOP;
                         NOP;
                         NOP;
                    if(byte & 0x80)
                               PT2314_SDA = 1;
                    else
                               PT2314_SDA = 0;
              NOP;
                    NOP;
                         NOP;
                         NOP;
                    PT2314_SCL = 1;
                    byte =byte << 1;
          }


          PT2314_SCL = 0;
          PT2314_SDA = 1;
          NOP;
          NOP;
          PT2314_SCL = 1;
          NOP;
          NOP;
           while(!PT2314_SCL);
    if(PT2314_SDA)
                Acknowledge = 1;
      
          PT2314_SCL = 0;
          NOP;
          NOP;
    return(Acknowledge);        //Acknowledge = 1數據寫入失敗
}


//本函數進行命令寫入,進行設置命令傳輸。
void PT2314_Write(unsigned char temp1,unsigned char temp2)
{
    unsigned char j = 5;
          PT2314_SCL = 1;    //輸入設置
          NOP;
          NOP;
          PT2314_SDA = 1;
          NOP;
          NOP;
          while(!PT2314_SCL);
          PT2314_SDA = 0;
          NOP;
          NOP;
          PT2314_SCL = 0;     //I2C啟動
      
          PT2314_Write_Byte(0x88);
    while(PT2314_Write_Byte(temp1 + temp2)&&(j--));  //寫入失敗反復寫5次


          NOP;
          NOP;
    PT2314_SDA = 0;
    NOP;
    NOP;
    PT2314_SCL = 1;
    NOP;
    NOP;
          while(!PT2314_SCL);                //I2C結束
    PT2314_SDA = 1;      
}


//本函數設置輸入音頻通道
void Set_PT2314_CHL(unsigned char temp_ch)
{
           unsigned char temp;
           if(b_PT2314_Lound)
           {
                      temp = temp_ch | 0x08;
           }
           else
           {
                      temp = temp_ch |0x0c;
           }
           PT2314_Write(0x50,temp);
}
//本函數設置音量衰減,音量增大為衰減量減小
void Set_PT2314_VOL(unsigned char vol)
{
           if(b_PT2314_Mute || (vol == 0))
           {
                      PT2314_Write(0x00,0x3f);
           }
           else
           {
                      PT2314_Write(0x00,(63 - Volume_Buf[vol]));
           }
         
}
/*********************************/
#if 0
void Set_PT2314_FL(unsigned char fl)
{
           PT2314_Write(0xc0,(0x1f - fl));
}


void Set_PT2314_FR(unsigned char fr)
{
           PT2314_Write(0xe0,(0x1f - fr));
}
#endif
/**********************************/


//下列函數設置高低音調
void Set_PT2314_TRE(unsigned char tre)
{
          if(tre <= 7)
          {
              PT2314_Write(0x70,tre);
          }
          else
          {
                    PT2314_Write(0x70,(23 - tre));
          }
}


void Set_PT2314_BAS(unsigned char bas)
{
          if(bas <= 7)
          {
              PT2314_Write(0x60,bas);
          }
          else
          {
                    PT2314_Write(0x60,(23 - bas));
          }
}


//此函數設置平衡
void Set_PT2314_BAL(unsigned char bal)
{
           if (bal > 7)
           {


                          PT2314_Write( 0xe0,(2 * (bal - 7)) );   //right
                          PT2314_Write( 0xc0,0x00 );
           }
           else if (bal < 7)
           {


                          PT2314_Write( 0xc0,(2 * (7 - bal)) );   //left
                          PT2314_Write( 0xe0,0x00 );
           }


                PT2314_Write(0xe0,0x00);   //聲場平衡恢復居中設置
                PT2314_Write(0xc0,0x00);      


}
         
/**************************************************************/
void Audio_Set_ALL(void)           //音效設置
{
          Set_PT2314_CHL(g_Audio_Channel);
          Set_PT2314_TRE(g_Audio_Treble);
    Set_PT2314_BAS(g_Audio_Bass);
    Set_PT2314_BAL(g_Audio_Balance);
    Set_PT2314_VOL(g_Audio_Volume);
}
/**************************************************************/


void Audio_Channel_SELECT(void)    //通道選擇
{
           g_Audio_Channel++;
         
           if(g_Audio_Channel >= 4)
           {


                     g_Audio_Channel = 0;
           }
         
           if(g_Audio_Channel == DVD_MODE)
           {                  
                     DVD_POWER = 1;
                     
           }
           else
           {
                     DVD_POWER = 0;
                     
           }
         
           if(g_Audio_Channel == TUNER_MODE)
           {
               b_tuner_flag = 1;
           }
           else
           {
                      b_tuner_flag = 0;
           }
   
           Set_PT2314_CHL(g_Audio_Channel);
}      
/**************************************************************/            
void Audio_Volume_UP(void)         //主音量調節
{
           if(g_Audio_Volume < 36)
           {
                      g_Audio_Volume++;
           }
           Set_PT2314_VOL(g_Audio_Volume);
}
void Audio_Volume_DW(void)
{
           if(0 < g_Audio_Volume)
           {
                      g_Audio_Volume--;
           }
           Set_PT2314_VOL(g_Audio_Volume);
}


/**************************************************************/      
void Audio_Treble_UP(void)         //高音調節
{
           if(g_Audio_Treble < 14)
           {
                      g_Audio_Treble++;
           }
           Set_PT2314_TRE(g_Audio_Treble);
}
void Audio_Treble_DW(void)
{
           if(0 < g_Audio_Treble)
           {
                      g_Audio_Treble--;
           }
           Set_PT2314_TRE(g_Audio_Treble);
}


/**************************************************************/
void Audio_Bass_UP(void)          //低音調節
{
           if(g_Audio_Bass < 14)
           {
                      g_Audio_Bass++;
           }
           Set_PT2314_BAS(g_Audio_Bass);
}
void Audio_Bass_DW(void)
{
           if(0 < g_Audio_Bass)
           {
                      g_Audio_Bass--;
           }
           Set_PT2314_BAS(g_Audio_Bass);
}
/**************************************************************/
/*
void Audio_Balance_RIGHT(void)     //平衡調節
{
           if(g_Audio_Balance < 14)
           {
                      g_Audio_Balance++;
           }
           Set_PT2314_BAL(g_Audio_Balance);
}


void Audio_Balance_LEFT(void)
{
           if(0 < g_Audio_Balance)
           {
                      g_Audio_Balance--;
           }
           Set_PT2314_BAL(g_Audio_Balance);
}*/
/**************************************************************/
/*void Audio_Lound_SWITCH(void)       //等響開關
{
           b_PT2314_Lound = ~b_PT2314_Lound;
           Set_PT2314_CHL(g_Audio_Channel);
}
/**************************************************************/
void Audio_MUTE(void)              //靜音
{  
           AMP_MUTE = ~AMP_MUTE;
           b_PT2314_Mute = ~b_PT2314_Mute;
           Set_PT2314_VOL(g_Audio_Volume);
}           
/**************************************************************/
void Audio_Init(void)              //音效初始化
{
           g_Audio_Volume = DEFAULT_VOL;
     g_Audio_Treble = DEFAULT_TRE;
     g_Audio_Bass = DEFAULT_BAS;
     g_Audio_Balance = DEFAULT_BAL;
     g_Audio_Channel = DVD_MODE;
      
           Audio_Set_ALL();
}     




#ifndef _AUDIO_H_
#define _AUDIO_H_
#include "public.h"
#include "configure.h"




////////////////////////////////////////////////////////////////////////////////
//常量定義
#define  DEFAULT_BAL   7
#define  DEFAULT_TRE   7
#define  DEFAULT_BAS   7
#define  DEFAULT_VOL   12


#define  DVD_MODE        3
#define  AUX_MODE        2
#define  PC_MODE         1
#define  TUNER_MODE      0






//全局函數申明
extern void Audio_Set_ALL(void);
extern void Audio_Channel_SELECT(void);
extern void Audio_Volume_UP(void);
extern void Audio_Volume_DW(void);


extern void Audio_Treble_UP(void);
extern void Audio_Treble_DW(void);


extern void Audio_Bass_UP(void);
extern void Audio_Bass_DW(void);


extern void Audio_MUTE(void);
extern void Audio_Init(void);



#endif
回復

使用道具 舉報

6#
ID:996773 發表于 2023-7-19 13:19 | 只看該作者
PT2314?也就是個音量控制,線路不復雜,不要焊在板子上,先建議焊電源線和兩個通訊線

送八位命令看看它有沒有ACK。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩中文国产一区发布 | 成人精品鲁一区一区二区 | 99久久国产 | 午夜视频在线观看网站 | 日韩精品视频在线观看一区二区三区 | 欧美性猛交一区二区三区精品 | 欧美激情综合 | 综合久久av | 亚洲第一天堂无码专区 | 精品视频一区二区三区在线观看 | 热久久性 | 人人干人人爽 | 99爱在线观看 | 欧美性tv | 波多野吉衣在线播放 | 中文字幕在线一区 | 美女一级a毛片免费观看97 | av免费网站在线观看 | 精品国产精品国产偷麻豆 | av一区在线 | 亚洲天堂免费 | 一区二区三区四区免费视频 | 伊人精品 | 成人精品一区 | 又爽又黄axxx片免费观看 | 欧美精品成人 | 一二三四在线视频观看社区 | www.亚洲一区 | 精品麻豆剧传媒av国产九九九 | 国产伦精品一区二区三区高清 | 国产成人精品久久二区二区91 | 欧美激情综合 | 日韩av免费在线电影 | 成人夜晚看av | 神马影院一区二区三区 | 日韩免费高清视频 | 成年人免费网站 | 国产成视频在线观看 | 成人小视频在线观看 | 国产精品久久国产精品99 gif | 日韩免费成人av |