智能车制作

标题: I2C 重映射问题!!急 如何将I2C重映射到PB8、9引脚? [打印本页]

作者: 伊利奶茶粉    时间: 2012-11-19 18:10
标题: I2C 重映射问题!!急 如何将I2C重映射到PB8、9引脚?
打算调一个IIC的温度传感器,把温度用液晶显示出来。结果一直不好使 一个大神说是IO口冲突了,需要把I2C1重映射到PB8、9上

于是我尝试着写了下面这段:
void GPIOiic_Configuration(void)
{
  GPIO_InitTypeDef  GPIO_InitStructure;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE);
  GPIO_PinRemapConfig(GPIO_Remap_I2C1, ENABLE);
  /* Configure I2C1 pins: SCL and 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);
  
  //RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
}
void I2C_Configuration(void)
{
  I2C_InitTypeDef  I2C_InitStructure;
  //RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
  /* I2C configuration */
// GPIO_PinRemapConfig(GPIO_Remap_I2C1, ENABLE);
  I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
  I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
  I2C_InitStructure.I2C_OwnAddress1 = I2C1_SLAVE_ADDRESS7;
  I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
  I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
  I2C_InitStructure.I2C_ClockSpeed = I2C_Speed;
  
  /* I2C Peripheral Enable */
  I2C_Cmd(I2C1, ENABLE);
  /* Apply I2C configuration after enabling it */
  I2C_Init(I2C1, &I2C_InitStructure);
  
}
结果还是过不去,卡在事件5的while里……实在搞不懂求大侠指教!
作者: qiangnancy    时间: 2012-11-19 18:36
STM32103fx系列的芯片么?
作者: jiyiboloann    时间: 2012-11-19 20:06
STM32单片机,典型的固件库函数啊,我最近刚上手STM32,非大侠,无奈有心却无力帮你啊。倒是以后可以常交流




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2