1、GPIO初始化

STM32——输出、输入控制

系统框架图⚡️

在这里插入图片描述
**解说 :**由于引脚都包含在APB2总线上,所以需要打开APB2上的时钟开关。即使能。

输出控制⚡️

void GPIO_OUTPUT_init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;//声明结构体
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//打开APB2中的GPIOB时钟

    GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;		//选择引脚 Pin_0
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP;//选择输出模式 推挽输出
    GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz //选择时钟频率
    GPIO_Init(GPIOB,&GPIO_InitStructure);//将上面编辑的结构体中的参数写入函数中
}

1️⃣ :上方主要时钟函数为:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

  • 在后边的实验中当要使用到APB2中的资源时需要用到此函数(对应的APB2的资源可以在上方的系统框图中查看) 😄

2️⃣ : 上方主要的初始化函数:GPIO_Init(GPIOB,&GPIO_InitStructure);

  • 将上方定义的结构体参数,通过本函数写入 😄

3️⃣ :后面大家将会发现利用库函数各个资源的初始化会有一定的相似

输入控制⚡️

void GPIO_INPUT_init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;//声明结构体
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//打开APB2中的GPIOA时钟

    GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;		//选择引脚 Pin_0
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP;//选择输出模式 推挽输出
    /*					输入引脚不需要时钟				*/
#   GPIO_Init(GPIOA,&GPIO_InitStructure);//将上面编辑的结构体中的参数写入函数中
}
  • 输入和输出的类似,但不用选择时钟速度。

到此GPIO输入输出就讲完了😃
有表达的不对的,或是需要补充的也欢迎大家提出指正😄
大家一同学习(我也是小白,正在学习过程中…)⚡️

  • 实验平台:野火stm32——指南者。
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值