STM32之端口复用与重映射简单说明

来源:互联网 发布:网络测速360 编辑:程序博客网 时间:2024/06/10 04:10

(转载摘取)

重映射步骤为:

1.打开重映射时钟和USART重映射后的I/O口引脚时钟

          RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO,ENABLE);

2.I/O口重映射开启.

                   GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);

3.配制重映射引脚这里只需配置重映射后的I/O,原来的不需要去配置.

                             GPIO_InitStructure.GPIO_Pin= GPIO_Pin_6;
                             GPIO_InitStructure.GPIO_Mode= GPIO_Mode_AF_PP;
                             GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz;
                             GPIO_Init(GPIOB,&GPIO_InitStructure);


                              GPIO_InitStructure.GPIO_Pin= GPIO_Pin_7;
                              GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IN_FLOATING;
                               GPIO_Init(GPIOB,&GPIO_InitStructure);

      只需要这三步,串口就可以正常使用了,简单吧?  但是我纠结了大半个小时才搞定的,好多事情都是说起来容易做起来难的,希望我以后多多进步.不要眼高手低,嗯我正朝这个方向前进.

简单的说 STM32 io 3个功能一个是默认的一个是复用一个是重映射功能(这个其实也属于复用)

如果配置成复用 则将使用第2个功能 如果配置成复用 同时 相应的重映射配置了 则将使用第3个功能

通常一个口的 复用+重映射有好多 不止两个 这时候就看你使能哪个设备了(哪个被使能就用哪个) 

开复用 + 使能设备+ 是否重映射就可以决定这个io口到底使用哪个功能