F429 读写I2C eeprom M24C64 一直读不了

2019-07-20 08:17发布

在STM32F429的开发板上,把原子的ATC02 换上M24C64.
在24xx.h 修改
[mw_shl_code=cpp,true]//#define EE_TYPE AT24C02
#define EE_TYPE AT24C64       
[/mw_shl_code]
在main.c里执行
[mw_shl_code=applescript,true]    while(1)
    {
        if(AT24CXX_Check())
        {
            LCD_ShowString(30,150,200,16,16,"24C02 Check Failed!");
        }
        else{
            LCD_ShowString(30,170,200,16,16,"24C02 ok!");
            
        }
        delay_ms(1000);
    }    [/mw_shl_code]


请大家看下.写进去.老是读不到.

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
cbxxx
1楼-- · 2019-07-20 12:50
[mw_shl_code=cpp,true]//IO方向设置
#define SDA_IN()  {GPIOH->MODER&=~(3<<(5*2));GPIOH->MODER|=0<<5*2;}        //PH5输入模式
//#define SDA_OUT() {GPIOH->MODER&=~(3<<(5*2));GPIOH->MODER|=1<<5*2;} //PH5输出模式
#define SDA_OUT() {GPIOH->MODER&=~(3<<(5*2));GPIOH->MODER|=1<<5*2;
                                                                                GPIOH->OTYPER&=~(1<<5);GPIOH->OTYPER|=1<<5;} //PH5输出模式
[/mw_shl_code]

折腾了一天.添加那一行代码才可以. 不同的芯片质量不同.估计我那个都是盗版的
cbxxx
2楼-- · 2019-07-20 15:44
 精彩回答 2  元偷偷看……
cbxxx
3楼-- · 2019-07-20 21:38
拒绝再次折腾. 希望碰到类此问题的人能减少开发时间.就是设置输出模式的时候,要设置开漏极输出. 可能跟我这颗 M24C64 芯片内部有关.内部拉不下来也没用
正点原子
4楼-- · 2019-07-20 23:36
 精彩回答 2  元偷偷看……
15238000747
5楼-- · 2019-07-21 00:09
 精彩回答 2  元偷偷看……
wywf4
6楼-- · 2019-07-21 02:08
谢谢分享

一周热门 更多>