GeekIMU/2.Firmware/STM32/Firmware/driver/gpio.c

57 lines
2.1 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/******************** (C) COPYRIGHT 2020 GEEKIMU *******************************
* File Name : gpio.c
* Current Version : V2.0 & ST 3.5.0
* Author : zhanli 719901725@qq.com & JustFeng.
* Date of Issued : 2017.1.11 zhanli : Create
* Comments : STM32 GPIO相关功能
********************************************************************************/
#include "gpio.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "sys.h"
#include "led.h"
#define USB_ENABLE_PERIPH_CLK RCC_APB2Periph_GPIOA // USB使能端口时钟
#define USB_ENABLE_GPIO_TYPE GPIOA // USB使能端口类型
#define USB_ENABLE_PIN GPIO_Pin_2 // USB使能端口PA2
/**----------------------------------------------------------------------
* Function : Init_USB_Enable_GPIO
* Description : USB使能控制IO初始化
* Author : zhanli&719901725@qq.com & JustFeng.
* Date : 2015/2/13 zhanli
*---------------------------------------------------------------------**/
void Init_USB_Enable_GPIO()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(USB_ENABLE_PERIPH_CLK, ENABLE); /* 使能PB端口时钟 */
GPIO_InitStructure.GPIO_Pin = USB_ENABLE_PIN; /* LED0-->PB.9 端口配置 */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /* 推挽输出 */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /* IO口速度为50MHz */
GPIO_Init(USB_ENABLE_GPIO_TYPE, &GPIO_InitStructure); /* 根据设定参数初始化GPIOB.9 */
// USB上拉使能默认USB开启
GPIO_SetBits(USB_ENABLE_GPIO_TYPE, USB_ENABLE_PIN);
}
/**----------------------------------------------------------------------
* Function : GPIO_Configuration
* Description : 在Set_System()被调用用于配置各种IO口
* Author : zhanli&719901725@qq.com & JustFeng.
* Date : 2015/9/17 zhanli
*---------------------------------------------------------------------**/
void GPIO_Configuration(void)
{
// USB使能端口初始化
Init_USB_Enable_GPIO();
// LED初始化
LED_Init_GPIO();
}