打印

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

[复制链接]
505|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝