stm32引脚复用和时钟复用的区别?
发布网友
发布时间:2022-05-01 00:29
我来回答
共1个回答
热心网友
时间:2022-06-21 09:26
好像没有时钟复用的概念,引脚复用时,需要设置相应的时钟,一般情况如下:
stm32引脚复用,以 CAN为例,
PA11(CANRx),PA12(CANTx)为默认复用引脚。
编程时,这样设置时钟
/*外设时钟设置*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);
PB8(CANRx),PB9(CANTx)为复用功能的重映射,编程时如下配置时钟:
/*外设时钟设置*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB,ENABLE); //1
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);//2
/*IO设置*/
GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);//3