求STM32F407关于ad5254bruz10底层驱动代码

2019-07-20 02:22发布

       求STM32F407关于ad5254bruz10数字电位器底层驱动代码(I2C协议),因为新手没写过底层驱动代码,往高手求助。http://www.analog.com/cn/search.html?q=AD5445
  这个是资料的链接。希望大神们帮忙一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
jiangyy
2019-07-21 07:39
#define AD5254_1_Wadress  0x58
#define AD5254_1_Radress  0x59

#define AD5254_2_Wadress  0x5c
#define AD5254_2_Radress  0x5d

#define RDAC0                        0x00
#define RDAC1                        0x01  
#define RDAC2                        0x02  
#define RDAC3                        0x03

void AD5254_1_WriteOneByte(u8 WriteAddr,u8 DataToWrite)
{
        PD_IIC_Start();       
        PD_IIC_Send_Byte(AD5254_1_Wadress);         
        PD_IIC_Wait_Ack();
        PD_IIC_Send_Byte(WriteAddr);  
        PD_IIC_Wait_Ack();
        PD_IIC_Send_Byte(DataToWrite);  
        PD_IIC_Wait_Ack();
        PD_IIC_Stop();       
}

u8 AD5254_1_ReadOneByte(u8 ReadAddr)
{
        u8 temp=0;
        PD_IIC_Start();       
        PD_IIC_Send_Byte(AD5254_1_Wadress);         
        PD_IIC_Wait_Ack();
        PD_IIC_Send_Byte(ReadAddr);   
        PD_IIC_Wait_Ack();
        PD_IIC_Start();       
        PD_IIC_Send_Byte(AD5254_1_Radress);         
        PD_IIC_Wait_Ack();
        temp = PD_IIC_Read_Byte(0);
        PD_IIC_Wait_Ack();
        PD_IIC_Stop();       
        return temp;
}

IIC时序代码完全和正点原子的一模一样,代码已经调通了,测试结果也很理想。不懂可以留言,谢谢

一周热门 更多>