STM32中的GPIO_Init()函数的分析

 

STM32中的GPIO_Init()函数的分析

 

 

学习STM32时,首先要熟悉流水灯例程,在这里就来分析流水灯中的GPIO_Init()函数

例如:流水灯例程中使用的端口是macLED1_GPIO_PORT=GPIOB,

     控制的引脚是GPIO_Pin_0,

     引脚的模式是 GPIO_Mode_Out_PP(通用推挽输出),

     引脚的速率是GPIO_Speed_50MHz,

     用到的寄存器是CRL

 


将上述的引脚、模式、速率换算成32位的16进制,分别是:

1)  控制的引脚是GPIO_Pin_0

     换算成32位的16进制是:0x0000 0001

2)  引脚的模式是 GPIO_Mode_Out_PP(通用推挽输出)

     换算成32位的16进制是:0x0000 0010

3)  引脚的速率是GPIO_Speed_50MHz

     换算成32位的16进制是:0x0000 0003

 


然后调用库函数GPIO_Init(),初始化GPIOB

GPIO_Init(macLED1_GPIO_PORT, &GPIO_InitStructure);

 


GPIO_Init()函数的定义如下:

 


  

GPIO Mode Configuration

 

 currentmode=((uint32_t)GPIO_InitStruct->GPIO_Mode)&((uint32_t)0x0F);

  

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值