如下图:按如下代码对两个电位器操作,Uout输出电压只有4.8V左右,偶尔会输出5V,其中DataToWriteA和 DataToWriteB都是0xFF。将A和B两个寄存器两个函数分开操作效果一样。
u8 tpl0102_WriteOneByte(u16 WriteAddr,u8 DataToWriteA,u8 DataToWriteB,u8 ch)
{
I2C_EN_On(ch);//开启相应通道低I2C使能
delay_ms(1);
IIC_Start();
IIC_Send_Byte(WriteAddr<<1); //发送器件地址,写数据
IIC_Wait_Ack();
IIC_Send_Byte(0x00); //发送高位A寄存器地址0X00,写数据
IIC_Wait_Ack();
IIC_Send_Byte(DataToWriteA); //发送字节 写A寄存器
IIC_Wait_Ack();
IIC_Send_Byte(DataToWriteB); //发送字节 写B寄存器
IIC_Wait_Ack();
//IIC_NAck();
IIC_Stop();//产生一个停止条件
delay_ms(1);
return 1;
}