使用GPIO输出控制LED灯实验
本系列博客主要记录制作智能小车的过程。小车的电机控制板芯片为STM32F103RCT6,所以这一系列文章都是围绕这块控制版介绍。今天主要学习如何使用STM32芯片的GPIO口进行输出。
硬件相关
在控制版上搭载一颗LED
小灯,与LED
灯相关的电路图如下:
分析可知LED
灯一端接3.3V电源,另外一端接STM32芯片GPIOB的0号针脚,所以只要PB0输出高电平,LED
灯熄灭;PB0输出低电平,LED
灯点亮。
软件相关
控制GPIO输出流程
-
开启GPIOB端口的时钟
-
初始化GPIOB相关配置
-
将GPIOB端口的0号针脚设置低电平,点亮
LED
小灯
开启GPIO端口时钟
分析STM32的系统结构图,我们发现GPIOB在总线APB2上。根据STM32固件库文件介绍中可以知道其在stm32f10x_rcc.h
这个头文件找到相关的函数。
/**
* @brief 启用或禁用高速APB(APB2)外设时钟。
* @param RCC_APB2Periph: 指定APB2外设用以控制其时钟.
* 此参数可以是以下值的任意组合:
* @arg RCC_APB2Periph_AFIO, RCC_APB2Periph_GPIOA, RCC_APB2Periph_GPIOB,
* RCC_APB2Periph_GPIOC, RCC_APB2Periph_GPIOD, RCC_APB2Periph_GPIOE,
* RCC_APB2Periph_GPIOF, RCC_APB2Periph_GPIOG, RCC_APB2Periph_ADC1,
* RCC_APB2Periph_ADC2, RCC_APB2Periph_TIM1, RCC_APB2Periph_SPI1,
* RCC_APB2Periph_TIM8, RCC_APB2Periph_USART1, RCC_APB2Periph_ADC3,
* RCC_APB2Periph_TIM15, RCC_APB2Periph_