I2C2 IO口设置问题
用STM32 的I2C2时碰到问题,PB10,PB11外接4.7K上拉,将IO口配置成为开漏输出后,IO口就拉低了,不知为什么?求高手指点 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
时钟有使能??
使能了
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初始化前调用 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, DISABLE);
DISABLE? 用cube试下。 找到原因了,谢谢各位!!! hxh820-36096 发表于 2017-3-2 14:21
找到原因了,谢谢各位!!!
楼主可以分享下原因啊多多交流学习~ void GPIO_Configuration(void)
{
...
.
.
...
I2C_Stop();//加上这句
}
void I2C_Stop(void)
{
I2C_SDA_0();
I2C_SCL_1();
I2C_Delay();
I2C_SDA_1();
}
页:
[1]