新手上路
- 积分
- 49
- 金钱
- 49
- 注册时间
- 2016-3-1
- 在线时间
- 13 小时
|
1金钱
最近在做平衡车,I2C1接MPU6050,TIM4——CH1/CH2接编码器,I2C1的引脚与TIM4——CH1/CH2冲突,想要同时使用,就对I2C1引脚做了重映射,但下载程序上电必须按复位键串口才能输出信息,直接上电不行,本人初学,请多多指教。
代码如下:
void I2C_Congiguration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
I2C_InitTypeDef I2C_InitStructure;
/* ʹÄÜÓë I2C1 ÓйصÄʱÖÓ */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_I2C1,ENABLE);
/* PB6-I2C1_SCL¡¢ B7-I2C1_SDA*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; // ¿ªÂ©Êä³ö
GPIO_Init(GPIOB, &GPIO_InitStructure);
/* I2C ÅäÖÃ */
I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
I2C_InitStructure.I2C_OwnAddress1 = I2C1_MPU6050;
I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
I2C_InitStructure.I2C_ClockSpeed = I2C_Speed;
/* ʹÄÜ I2C1 */
I2C_Cmd(I2C1, ENABLE);
/* I2C1 ³õʼ»¯ */
I2C_Init(I2C1, &I2C_InitStructure);
/*ÔÊÐí1×Ö½Ú1Ó¦´ðģʽ*/
I2C_AcknowledgeConfig(I2C1, ENABLE);
}
|
-
|