AT24C128检查失败的问题,求帮助

2019-07-20 23:28发布

u8 AT24CXX_Check(void)
{
        u8 temp;
        temp=AT24CXX_ReadOneByte(16383);//避免每次开机都写AT24CXX                          
        if(temp==0X55)return 0;                  
        else//排除第一次初始化的情况
        {
                AT24CXX_WriteOneByte(16383,0X55);
            temp=AT24CXX_ReadOneByte(16383);          
                if(temp==0X55)return 0;
        }
        return 1;                                                                                          
}
#define EE_TYPE AT24C128
这个两个地方改了,用的是PC8和PC9
//IO方向设置
#define SDA_IN()  {GPIOC->CRH&=0XFFFFFFF0;GPIOC->CRH|=(u32)1<<3;}
#define SDA_OUT() {GPIOC->CRH&=0XFFFFFFF0;GPIOC->CRH|=(u32)3<<0;}

//IO操作函数         
#define IIC_SCL    PCout(9)                 //SCL
#define IIC_SDA    PCout(8)                 //SDA         
//初始化IIC
void IIC_Init(void)
{                                             
        RCC->APB2ENR|=1<<4;                //先使能外设IO PORTC时钟                                                          
        GPIOC->CRH&=0XFFFFFF00;        //PC8/9 推挽输出
        GPIOC->CRH|=0X00000033;          
        GPIOC->ODR|=3<<8;             //PC8/9 输出高
}
一直显示检查失败,求大神指点,谢谢了!!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。