itloverhpu

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1.GPIO的重映射属于AFIO,不同类型不同引脚数单片机情况不一样,比如下图:

  

2.AFIO 下面还分default/Remap,如果用到了remap就得使用:

   GPIO_PinRemapConfig ( uint32_t  GPIO_Remap, FunctionalState  NewState )

  比如:GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);

3.如果用到了AFIO,还得开AFIO时钟:

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 

4.stm32f103cbt6,12/13脚 AFIO的default分别为usart2 tx/rx,但没有用到remap,所以不用GPIO_PinRemapConfig 函数

5. 如下配置

  RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);   

 //RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;     // uart2,PA2 TX / PA3 RX
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
 GPIO_Init(GPIOA, &GPIO_InitStructure);
 
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
 GPIO_Init(GPIOA, &GPIO_InitStructure);

posted on 2013-08-05 21:48  itloverhpu  阅读(1376)  评论(0编辑  收藏  举报