找回密码
 立即注册
查看: 109|回复: 3

I2C初始化影响GPIO?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-04-09 14:39:32
已绑定手机

2

主题

5

回帖

62

积分

注册会员

积分
62
发表于 2025-2-27 23:17:52 | 显示全部楼层 |阅读模式

下面这段代码,我只要注释掉I2C_Config(),LED灯就可以正常闪烁,一旦去掉注释,LED灯就是常亮,为啥啊?

#include "Config.h"
#include "Type_def.h"
#include "STC8G_H_GPIO.h"
#include "STC8G_H_delay.h"
#include "STC8G_H_I2C.h"
#include "STC8G_H_Switch.h"

void GPIO_Config()
{
P1_MODE_OUT_PP(GPIO_Pin_0);
P3_MODE_IO_PU(GPIO_Pin_2);
P3_MODE_IO_PU(GPIO_Pin_3);
}

void I2C_Config()
{
I2C_InitTypeDef I2C_InitStructure;
I2C_InitStructure.I2C_Speed = 58;
I2C_InitStructure.I2C_Enable = ENABLE;
I2C_InitStructure.I2C_Mode = I2C_Mode_Slave;
I2C_InitStructure.I2C_MS_WDTA = ENABLE;
I2C_InitStructure.I2C_SL_ADR = 0x78;
I2C_InitStructure.I2C_SL_MA = ENABLE;

I2C_Init(&I2C_InitStructure);

I2C_SW(I2C_P33_P32);

}
void main()
{
GPIO_Config();
// I2C_Config();
while(1)
{
P10 = 0;
delay_ms(1000);
P10 = 1;
delay_ms(1000);

}

}

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-2-28 06:50:10 | 显示全部楼层
是不是开了中断没有中断函数
打开的中断必须要有中断函数
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-04-09 14:39:32
已绑定手机

2

主题

5

回帖

62

积分

注册会员

积分
62
发表于 2025-2-28 10:18:43 | 显示全部楼层
Debu*** 发表于 2025-2-28 06:50
是不是开了中断没有中断函数
打开的中断必须要有中断函数

感谢回复。
我没有使用中断啊,所有的代码就是这些了。

我刚刚尝试了,如果把GPIO_Config()放到I2C_Config()前面,LED常亮。如果把GPIO_Config()放到I2C_Config()后面,则LED不亮。如果注释掉GPIO_Config(),则LED也不亮。当然,如果注释掉I2C_Config(),则LED按预期闪烁。

我问了AI,也没说出个啥有用的东西。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-04-09 14:39:32
已绑定手机

2

主题

5

回帖

62

积分

注册会员

积分
62
发表于 2025-2-28 10:35:47 | 显示全部楼层
AI帮我改了一下代码,好像是可以了,我又自己测试了一下其他情况。有没有大佬帮忙解释一下原因啊?

void main()
{
    // 配置GPIO
    GPIO_Config();
   
    // 确认GPIO配置是否生效,没有下面这4行代码,LED不会闪烁,或者不亮(只有前2行)或者常亮(只有后2行)。
    P10 = 0;
    delay_ms(1000);
    P10 = 1;
    delay_ms(1000);

    // 配置I2C
    I2C_Config();

    while(1)
    {
        P10 = 0;
        delay_ms(1000);
        P10 = 1;
        delay_ms(1000);
    }
}
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:33 , Processed in 0.197143 second(s), 66 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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