STM32F103C8T6_1:GPIO初始化

一、开启外设GPIOx时钟

        特别注意:需要用到特殊引脚:PA13,PA14,PA15,PB3,PB4(默认状态为JTAG功能)。

//开启外设GPIOA通用时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

//开启外设GPIOB通用时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

/*
如果需要引用引脚:PA13,PA14,PA15,PB3,PB4(复位默认为JTAG引脚)。
需要开启GPIO的复用功能时钟。
而且需要关闭全部JTAG功能(更改指定引脚的重映射映射)
*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);

//比如需要使用定时器2部分映射1(用到PA15)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2,ENABLE);


二、定义GPIO结构体并设置结构体成员 

定义结构体变量,配置参数

结构体成员1:GPIO引脚

结构体成员2:GPIO引脚模式

结构体成员3:GPIO引脚速度

//定义结构体变量
GPIO_InitTypeDef GPIO_InitStructure;

//选择端口引脚
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
//选择引脚模式
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
//选择引脚速度
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

//选择端口,并根据上面所选取的参数初始化
GPIO_Init(GPIOA,&GPIO_InitStructure);

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值