新手上路
- 积分
- 47
- 金钱
- 47
- 注册时间
- 2011-2-5
- 在线时间
- 5 小时
|
Hi 原子哥:
void MPU_IIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_10|GPIO_Pin_11);
}
软件模拟IIC初始化,为什么要用推挽输出?不是外接了3.3的上拉电源吗?我在一块板子上移植程序时发现,用推挽输出,传输的数据有时候正常,有时候错位了。示波器看波形很多过冲。改成开漏输出后就正常了。
|
|