IIC写AT24C16,0-255可以正常读写,但是256-2047不能正常读写

[复制链接]
 楼主| 第8号打板工 发表于 2018-7-9 16:14 | 显示全部楼层 |阅读模式
IIC写AT24C16,0-255可以正常读写,但是256-2047不能正常读写,我用的STM32F407的库函数例程该怎么修改,求指点
void AT24CXX_WriteOneByte(u16 WriteAddr,u8 DataToWrite)
{                                                                                                                                                                                          
    IIC_Start();  
        if(EE_TYPE>AT24C16)
        {
                IIC_Send_Byte(0XA0);            //发送写命令
                IIC_Wait_Ack();
                IIC_Send_Byte(WriteAddr>>8);//发送高地址         
        }else IIC_Send_Byte(0XA0+((WriteAddr/256)<<1));   //发送器件地址0XA0,写数据         
        IIC_Wait_Ack();           
    IIC_Send_Byte(WriteAddr%256);   //发送低地址
        IIC_Wait_Ack();                                                                                                               
        IIC_Send_Byte(DataToWrite);     //发送字节                                                           
        IIC_Wait_Ack();                                 
    IIC_Stop();//产生一个停止条件
        delay_ms(10);         
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

393

主题

393

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部