MAX7349键盘芯片,用IIC写放时,地址为:0x70,芯片已有应答位返回过来.而中断引脚INT脚,始终为:1.6V的高电平(联单片机后为:4V) 用IIC读芯片的内容,不管哪个地址,返回的均为:FF. 7349的ROW引脚,与COL引脚均输出:1.6V.
请教各位高手,可能我哪里出了问题了!试来试去,板子焊坏了十多块了,芯片也搞了十多个了.故可以排除芯片原因(这么多芯片不可能全是同样故障吧).附件为芯片资料,下面为本人程序:
void main(void)
{uchar temp; //定义临时变量,检查结果寄存器
bit bROK;
temp=0;
bROK=INT;
i2c_start();
bROK=sendbyte(0x70); //执行后BROK=0;
bROK=sendbyte(0x01);
bROK=sendbyte(0x01);
i2c_stop();
i2c_start();
bROK=sendbyte(0x70);
bROK=sendbyte(0x03);
bROK=sendbyte(0x01);
i2c_stop();
i2c_start();
bROK=sendbyte(0x70);
bROK=sendbyte(0x02);
bROK=sendbyte(0x0);
i2c_stop();
//读取存储的方向值
while(1)
{bROK=INT;
i2c_start();
bROK=sendbyte(0x70); //发送写地址
bROK=sendbyte(0x03); //初始化03字节
i2c_start(); //重新启动IIC
bROK=sendbyte(0x71); //设定为读
temp=rcvbyte(); //接收到的始终为:FFH
Askbit();
temp=rcvbyte();
Askbit();
temp=rcvbyte();
Askbit();
temp=rcvbyte();
NoAskbit();
i2c_stop();
temp=0;
temp=0;
temp=0;
}
} |