欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 8502|回復(fù): 3
收起左側(cè)

求肋BK1080收音模塊讀不出數(shù)據(jù)

[復(fù)制鏈接]
ID:146949 發(fā)表于 2017-5-4 17:43 | 顯示全部樓層 |閱讀模式
收音IC型號(hào): BK1080-SOP16
   器件地址:0x80
我用STC15W4K58S4來(lái)驅(qū)動(dòng)BK1080收音模塊,I2C低層是用之前驅(qū)動(dòng)RDA5820的數(shù)據(jù)來(lái)修改.
SDA和SCL都沒(méi)有接錯(cuò),也有4K7上拉電阻。
現(xiàn)在一直讀不出數(shù)據(jù),讀寄存0x00~0xFF都沒(méi)有數(shù)據(jù)。在邏輯儀上看偶爾出現(xiàn)有顯示0x7F。
求助,有人用過(guò)這個(gè)芯片嗎?
4.jpg
void I2C_Start()//I2C起始信號(hào)
{
    IIC_SDA = 1;                    //拉高數(shù)據(jù)線
    IIC_SCL = 1;                    //拉高時(shí)鐘線
    Delayus(5);
    IIC_SDA = 0;                    //產(chǎn)生下降沿
Delayus(5);
    IIC_SCL = 0;                    //拉低時(shí)鐘線
}
void I2C_Stop()//I2C停止信號(hào)
{
    IIC_SDA = 0;              //拉低數(shù)據(jù)線
    IIC_SCL = 1;              //拉高時(shí)鐘線
    Delayus(5);
    IIC_SDA = 1;              //產(chǎn)生上升沿
    Delayus(5);
}
bit IIC_RecvACK()//接收應(yīng)答信號(hào)
{
    IIC_SCL = 1;                    //拉高時(shí)鐘線
    Delayus(5);                 //延時(shí)
    CY = IIC_SDA;                   //讀應(yīng)答信號(hào)
    IIC_SCL = 0;                    //拉低時(shí)鐘線
    Delayus(5);                 //延時(shí)
    return CY;
}
void I2C_SendByte(uchar dat)//向I2C總線發(fā)送一個(gè)字節(jié)數(shù)據(jù)
{
    unsigned char i;
    for (i=0; i<8; i++)         //8位計(jì)數(shù)器
    {
        dat <<= 1;              //移出數(shù)據(jù)的最高位
        IIC_SDA = CY;               //送數(shù)據(jù)口
        IIC_SCL = 1;                //拉高時(shí)鐘線
        Delayus(5);             //延時(shí)
        IIC_SCL = 0;                //拉低時(shí)鐘線
        Delayus(5);             //延時(shí)
    }
    IIC_RecvACK();
}
uchar I2C_RecvByte(void)//從I2C總線接收一個(gè)字節(jié)數(shù)據(jù)
{
    unsigned char i;
    unsigned char dat = 0;
    IIC_SDA = 1;                    //使能內(nèi)部上拉,準(zhǔn)備讀取數(shù)據(jù),
    for (i=0; i<8; i++)         //8位計(jì)數(shù)器
    {
        dat <<= 1;
        IIC_SCL = 1;                //拉高時(shí)鐘線
        Delayus(5);             //延時(shí)
        dat |= IIC_SDA;             //讀數(shù)據(jù)               
        IIC_SCL = 0;                //拉低時(shí)鐘線
        Delayus(5);             //延時(shí)
    }
    return dat;
}
void Single_WriteI2C_FM(uchar REG_Address,uint REG_data)//向I2C設(shè)備寫入2個(gè)字節(jié)數(shù)據(jù)
{
    I2C_Start();                  //起始信號(hào)
    I2C_SendByte(0x80);           //發(fā)送設(shè)備地址+寫信號(hào)
    I2C_SendByte(REG_Address);    //內(nèi)部寄存器地址,
I2C_SendByte(REG_data>>8);//取高位,類似定時(shí)器的TH0=(65536-1000)/256;
    I2C_SendByte(REG_data&0xFF);//取低位,類似定時(shí)器的TL0=(65536-1000)%256;
    I2C_Stop();                   //發(fā)送停止信號(hào)
}
uint Single_ReadI2C_FM(uchar REG_Address)//從I2C設(shè)備讀取一個(gè)字節(jié)數(shù)據(jù)
{
unsigned int buf;
I2C_Start();
I2C_SendByte(0x80);
I2C_SendByte(REG_Address);   
I2C_Start();
I2C_SendByte(0x80+1);
buf = I2C_RecvByte();
buf<<=8;
IIC_SDA = 0;  
IIC_SCL = 1;  
Delayus(5);
IIC_SCL = 0;  
Delayus(5);  
IIC_SDA = 1;
buf |= I2C_RecvByte();
IIC_SDA = 1;  
IIC_SCL = 1;  
Delayus(5);
IIC_SCL = 0;  
Delayus(5);  
IIC_SDA = 0;
I2C_Stop();         //發(fā)送停止信號(hào)
return buf;
}
回復(fù)

使用道具 舉報(bào)

ID:72088 發(fā)表于 2022-1-31 17:39 | 顯示全部樓層
我在找中文資料,沒(méi)找到
回復(fù)

使用道具 舉報(bào)

ID:625730 發(fā)表于 2022-2-1 11:09 | 顯示全部樓層
感覺(jué)樓主的I2C指令可能有問(wèn)題。
回復(fù)

使用道具 舉報(bào)

ID:824490 發(fā)表于 2022-2-2 00:14 | 顯示全部樓層
新鄉(xiāng)家電維修 發(fā)表于 2022-1-31 17:39
我在找中文資料,沒(méi)找到

BK1080E數(shù)據(jù)手冊(cè) v1.1.pdf (842.98 KB, 下載次數(shù): 31)
剛好我有。以前供應(yīng)商送的5個(gè)SOP8的,從沒(méi)用過(guò),后來(lái)用的是BK1079,簡(jiǎn)單點(diǎn)的,免MCU的。

評(píng)分

參與人數(shù) 1黑幣 +15 收起 理由
迎風(fēng)凌亂 + 15 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表