所用mcu:stm32f030f4: void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF) 其GPIO_AF有多个选择: * @param GPIO_AF: selects the pin to used as Alternate function. * This parameter can be one of the following value: * @arg GPIO_AF_0: WKUP, EVENTOUT, TIM15, SPI1, TIM17, MCO, SWDAT, SWCLK, * TIM14, BOOT, USART1, CEC, IR_OUT, SPI2, TIM3, USART4, * CAN, USART2, CRS, TIM16, TIM1, TS, USART8 * @arg GPIO_AF_1: USART2, CEC, TIM3, USART1, USART2, EVENTOUT, I2C1, * I2C2, TIM15, SPI2, USART3, TS, SPI1, USART7, USART8 * USART5, USART4, USART6, I2C1 * @arg GPIO_AF_2: TIM2, TIM1, EVENTOUT, TIM16, TIM17, USB, USART6, USART5, * USART8, USART7, USART6 * @arg GPIO_AF_3: TS, I2C1, TIM15, EVENTOUT * @arg GPIO_AF_4: TIM14, USART4, USART3, CRS, CAN, I2C1, USART5 * @arg GPIO_AF_5: TIM16, TIM17, TIM15, SPI2, I2C2, USART6, MCO * @arg GPIO_AF_6: EVENTOUT * @arg GPIO_AF_7: COMP1 OUT, COMP2 OUT 需要使用 【I2C1】,按上面的参数说明选GPIO_AF_1,GPIO_AF_3,GPIO_AF_4应该都行, 参考了坛子里 lkl0305 老师的例程,选GPIO_AF_1,但I2C1不工作, 后改为GPIO_AF_4,I2C1工作了, 疑问: 这个参数有啥讲究,有没有更详细的使用说明,现在虽然I2C工作了,但心里不踏实啊 |
看下芯片手册,所用的IO管脚对应的是什么 |
不看手册的结果,,手册里写明了每个引脚的复用功能 |
这个要和其他函数配置使用的。 |
需要看简要手册说明,看看该引脚是否可以复用到对应的外设... |