另外加延时等方法都试了,程序是网上复制的。现在剩下的就不知道是不是他们读寄存器的问题。只用了8位精度。或者电路上有什个么讲究吗? 下面附上相关寄存器代码 1.第一部分 初始化的4个数 WriteIntBuf[0] = 0x90; //0x90 WriteIntBuf[1] = 0x01; //0x01 WriteIntBuf[2] = Chnel; // 写入要配置的通道 WriteIntBuf[3] = 0x83; //0xe3 82 83 2.第二部分准备读取 IIC1_Send_Byte(0x90); //slave while(IIC1_Wait_Ack()); IIC1_Send_Byte(0x00); while(IIC1_Wait_Ack()); 3.读取 问题就在这里 低位读取不了 Readbuff[0]= IIC1_Read_Byte(1);//试过ACK和NACK //试过加延时 Readbuff[1]= IIC1_Read_Byte(0); |
IIC1_Send_Byte(0x91); //slave
评分
查看全部评分
评分
查看全部评分
哥们这肯定加了啊 不然高位也不会读粗来的啊
谢谢哦 试了 木有用呢
读回来的高位是个什么值?
点评