近来碰到许多客户在运用STM32的外设时,因为IO口被用作复用功用,可是外设的初始化正确,GPIO口初始化正确,外设的时钟也已敞开,可是外设无法正常运转。
其中最要害的一项,大多数运用者多没有设置,便是某个IO口被用作外设的接口时,需求敞开IO口的复用功用的时钟,即进行外设、IO的时钟使能时,需求如下代码
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx | RCC_APB2Periph_AFIO, ENABLE); /* GPIOx and AFIO clock enable */
x — 为对应的GPIO口,如:A、B、C、D、E。