OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5551|回复: 5

但读写AT24CL02不成功(AT24绝对好的)

[复制链接]

27

主题

96

帖子

0

精华

高级会员

Rank: 4

积分
790
金钱
790
注册时间
2014-7-7
在线时间
155 小时
发表于 2015-12-30 13:44:51 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 STM32_2022 于 2015-12-30 17:07 编辑

用原子F407的IIC实验只是将PB8改为PE3,PB9改为PE4

也将

//IO方向设置
#define SDA_IN()  {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=0<<9*2;}        //PB9输入模式
#define SDA_OUT() {GPIOB->MODER&=~(3<<(9*2));GPIOB->MODER|=1<<9*2;} //PB9输出模式
//IO操作函数         
#define IIC_SCL    PBout(8) //SCL
#define IIC_SDA    PBout(9) //SDA         
#define READ_SDA   PBin(9)  //输入SDA

改为
//IO方向设置
#define SDA_IN()  {GPIOE->MODER&=~(3<<(4*2));GPIOB->MODER|=0<<4*2;}        //PE4输入模式
#define SDA_OUT() {GPIOE->MODER&=~(3<<(4*2));GPIOB->MODER|=1<<4*2;} //PE4输出模式
//IO操作函数         
#define IIC_SCL    PEout(3) //SCL
#define IIC_SDA    PEout(4) //SDA         
#define READ_SDA   PBin(4)  //输入SDA


但读写AT24CL02不成功(AT24绝对好的)

请大家指导
谢谢

最佳答案

查看完整内容[请看2#楼]

//IO操作函数 #define IIC_SCL PEout(3) //SCL #define IIC_SDA PEout(4) //SDA #define READ_SDA PBin(4) //输入SDA SDA就俩引脚 别的懒得看了,仔细一点
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6758

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12989
金钱
12989
注册时间
2012-11-26
在线时间
3789 小时
发表于 2015-12-30 13:44:52 | 显示全部楼层
//IO操作函数         
#define IIC_SCL    PEout(3) //SCL
#define IIC_SDA    PEout(4) //SDA         
#define READ_SDA   PBin(4)  //输入SDA

SDA就俩引脚

别的懒得看了,仔细一点
学无止境
回复

使用道具 举报

27

主题

96

帖子

0

精华

高级会员

Rank: 4

积分
790
金钱
790
注册时间
2014-7-7
在线时间
155 小时
 楼主| 发表于 2015-12-30 14:32:41 | 显示全部楼层
谢谢你!
我贴错了

应是

//IO操作函数         
#define IIC_SCL    PEout(3) //SCL
#define IIC_SDA    PEout(4) //SDA         
#define READ_SDA   PEin(4)  //输入SDA




回复

使用道具 举报

27

主题

96

帖子

0

精华

高级会员

Rank: 4

积分
790
金钱
790
注册时间
2014-7-7
在线时间
155 小时
 楼主| 发表于 2015-12-30 14:36:49 | 显示全部楼层
本帖最后由 STM32_2022 于 2015-12-30 14:38 编辑

//初始化IIC
void IIC_Init(void)
{                        
  GPIO_InitTypeDef  GPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);//使能GPIOB时钟

  //GPIOB8,B9初始化设置
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化
        IIC_SCL=1;
        IIC_SDA=1;
}
也改为
//初始化IIC
void IIC_Init(void)
{                        
  GPIO_InitTypeDef  GPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);//使能GPIOE时钟

  //GPIOE3,E4初始化设置
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  GPIO_Init(GPIOE, &GPIO_InitStructure);//初始化
        IIC_SCL=1;
        IIC_SDA=1;
}

请指导

回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
11738
金钱
11738
注册时间
2013-3-8
在线时间
1251 小时
发表于 2015-12-30 16:26:49 | 显示全部楼层
好好看看,你确定把所有的B都改成E了吗。
我都已经看到有三个地方改错了!
仔细检查!
回复

使用道具 举报

27

主题

96

帖子

0

精华

高级会员

Rank: 4

积分
790
金钱
790
注册时间
2014-7-7
在线时间
155 小时
 楼主| 发表于 2015-12-30 17:01:38 | 显示全部楼层
本帖最后由 STM32_2022 于 2015-12-30 17:09 编辑


工人焊接的是24C02
不是24LC02
换了就好了!

谢谢大家!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 21:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表