hxh820-36096 发表于 2017-2-27 10:56:52

I2C2 IO口设置问题

用STM32 的I2C2时碰到问题,PB10,PB11外接4.7K上拉,将IO口配置成为开漏输出后,IO口就拉低了,不知为什么?求高手指点

hxh820-36096 发表于 2017-2-27 10:59:23

void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_10 | GPIO_Pin_11;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
        GPIO_Init(GPIOB, &GPIO_InitStructure);

}
执行完最后一条语句,IO口就拉低了

wdluo 发表于 2017-2-27 11:45:48

时钟有使能??

hxh820-36096 发表于 2017-2-27 12:17:02

wdluo 发表于 2017-2-27 11:45
时钟有使能??

使能了
void RCC_Configuration(void)
{
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, DISABLE);
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB , ENABLE);
RCC_APB2PeriphClockCmd( RCC_APB1Periph_I2C2, ENABLE);
RCC_AHBPeriphClockCmd( RCC_AHBPeriph_DMA1,ENABLE);

}
在IO初始化前调用

zoomdy 发表于 2017-2-27 12:53:03

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, DISABLE);
DISABLE?

五哥1 发表于 2017-2-28 04:05:40

用cube试下。

hxh820-36096 发表于 2017-3-2 14:21:14

找到原因了,谢谢各位!!!

zero99 发表于 2017-5-24 13:44:07

hxh820-36096 发表于 2017-3-2 14:21
找到原因了,谢谢各位!!!

楼主可以分享下原因啊多多交流学习~

zxcyufei 发表于 2020-12-10 15:52:02

void GPIO_Configuration(void)
{
   ...
    .
    .
   ...
I2C_Stop();//加上这句
}


void I2C_Stop(void)
{
I2C_SDA_0();
I2C_SCL_1();
I2C_Delay();
I2C_SDA_1();
}
页: [1]
查看完整版本: I2C2 IO口设置问题