野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2714|回复: 6

I2C读写EEPROM出现的问题

[复制链接]
发表于 2023-4-24 21:58:22 | 显示全部楼层 |阅读模式
就是跟着mini的教程写的代码,但上位机给出的反应是未检测到EEPROM
野火论坛202304242151554412..png
野火论坛202304242151379433..png
野火论坛202304242150594907..png
野火论坛202304242149582980..png
野火论坛202304242149204735..png
回复

使用道具 举报

发表于 2023-4-26 09:06:31 | 显示全部楼层
看I2CGPIO初始化部分
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-26 10:39:58 | 显示全部楼层
WishWish 发表于 2023-4-26 09:06
看I2CGPIO初始化部分

C:\Users\dell\Desktop\I2C_GPIO.png
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-26 10:41:04 | 显示全部楼层
WishWish 发表于 2023-4-26 09:06
看I2CGPIO初始化部分

void I2C_GPIO_Config(void)
{
  GPIO_InitTypeDef  GPIO_InitStruct;
  /*第一步:打开外设时钟*/
  RCC_APB2PeriphClockCmd(I2C_SCL_GPIO_CLK | I2C_SDA_GPIO_CLK , ENABLE);
  
  /*第二步:配置外设初始化结构体*/
  GPIO_InitStruct.GPIO_Pin = I2C_SCL_GPIO_PIN | I2C_SDA_GPIO_PIN;
  //GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;
  GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_OD;//Mode和Speed这两个元素在配置其他GPIO端口时可以重复利用
  GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
  
  /*第三步:调用外设初始化函数,把配置好的结构体成员写到寄存器里面*/
  GPIO_Init( I2C_SCL_GPIO_PORT, &GPIO_InitStruct);
  
  
  /* 给一个停止信号, 复位I2C总线上的所有设备到待机模式 */
        //I2C_STOP();
  
}
回复 支持 反对

使用道具 举报

发表于 2023-4-26 16:01:30 | 显示全部楼层
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
模式用这个再试试看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-26 18:43:02 | 显示全部楼层
dyygxmy 发表于 2023-4-26 16:01
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
模式用这个再试试看

问题解决了,谢谢大佬。可是这个引脚为什么要配置成复用开漏输出呢?另外在例程里面也是使用的开漏输出,不是复用,但功能却正常运行了,这是怎么回事呢?
回复 支持 反对

使用道具 举报

发表于 2023-5-13 14:23:56 | 显示全部楼层
蹲一个解答;
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-27 19:18 , Processed in 0.042006 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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